From 6cdc0793d6bfc753b2fed38f93ce033b716dacf4 Mon Sep 17 00:00:00 2001 From: allison <67673392+Allybe@users.noreply.github.com> Date: Wed, 26 Aug 2026 19:45:11 -0500 Subject: [PATCH] more worky --- src/main/java/tech/allydoes/Constants.java | 2 +- src/main/java/tech/allydoes/Main.java | 3 ++- .../allydoes/database/DatabaseManager.java | 22 ++++++++++++++++++- .../tech/allydoes/discord/DiscordManager.java | 1 + .../java/tech/allydoes/discord/Embeds.java | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/tech/allydoes/Constants.java b/src/main/java/tech/allydoes/Constants.java index 7bf4583..eafafb0 100644 --- a/src/main/java/tech/allydoes/Constants.java +++ b/src/main/java/tech/allydoes/Constants.java @@ -1,6 +1,6 @@ package tech.allydoes; public class Constants { - public static final boolean PRODUCTION = false; + public static final boolean PRODUCTION = true; public static final String TESTING_GUILD = "926369143186403329"; } diff --git a/src/main/java/tech/allydoes/Main.java b/src/main/java/tech/allydoes/Main.java index 2f5fefb..8e33568 100644 --- a/src/main/java/tech/allydoes/Main.java +++ b/src/main/java/tech/allydoes/Main.java @@ -18,10 +18,11 @@ import tech.allydoes.discord.DiscordManager; import tech.allydoes.web.HttpServerHandler; public class Main { + static Logger logger = LogManager.getLogger(Main.class); + private static DiscordManager discordManager; private static DatabaseManager databaseManager; - static Logger logger = LogManager.getLogger(Main.class); public final int port; public Main(int port) { this.port = port; diff --git a/src/main/java/tech/allydoes/database/DatabaseManager.java b/src/main/java/tech/allydoes/database/DatabaseManager.java index d6033c0..010cc5b 100644 --- a/src/main/java/tech/allydoes/database/DatabaseManager.java +++ b/src/main/java/tech/allydoes/database/DatabaseManager.java @@ -36,7 +36,6 @@ public class DatabaseManager { if (!dbExists) { LOGGER.debug("Database does not exist. Creating..."); try (Statement statement = conn.createStatement()) { - // Use executeUpdate for DDL (CREATE DATABASE) - it does not return a ResultSet statement.executeUpdate(Queries.CREATE_DATABASE); LOGGER.debug("Database created successfully."); } catch (SQLException e) { @@ -115,5 +114,26 @@ public class DatabaseManager { } } + public void deleteNotifier(String guildId) { + String user = dotenv.get("DB_USER"); + String password = dotenv.get("DB_PASSWORD"); + String host = dotenv.get("DB_HOST"); + String port = dotenv.get("DB_PORT"); + + String defaultDbUrl = String.format("jdbc:postgresql://%s:%s/notifier", host, port); + try (Connection conn = DriverManager.getConnection(defaultDbUrl, user, password)) { + conn.setAutoCommit(true); + + try (PreparedStatement preparedStatement = conn.prepareStatement(Queries.DELETE_SERVER_CHANNEL)) { + preparedStatement.setString(1, guildId); + if (preparedStatement.execute()) { + LOGGER.debug("Notifier for guild {} deleted successfully.", guildId); + } + } + } catch (SQLException e) { + LOGGER.error("deleteNotifier: Failed to connect: {}", e.getMessage()); + } + } + public record Notified(String guildId, String channelId, String messageId) {} } diff --git a/src/main/java/tech/allydoes/discord/DiscordManager.java b/src/main/java/tech/allydoes/discord/DiscordManager.java index 2d02163..426fd44 100644 --- a/src/main/java/tech/allydoes/discord/DiscordManager.java +++ b/src/main/java/tech/allydoes/discord/DiscordManager.java @@ -90,6 +90,7 @@ public class DiscordManager { } } catch (Exception e) { LOGGER.error("setDoorStatus: Failed to edit message: {}", e.getMessage()); + Main.getDatabaseManager().deleteNotifier(notifiedEntry.guildId()); } } } diff --git a/src/main/java/tech/allydoes/discord/Embeds.java b/src/main/java/tech/allydoes/discord/Embeds.java index efd3ccb..22cd7ca 100644 --- a/src/main/java/tech/allydoes/discord/Embeds.java +++ b/src/main/java/tech/allydoes/discord/Embeds.java @@ -17,7 +17,7 @@ public class Embeds { public static MessageEmbed createOpenLabStatus() { return new EmbedBuilder() .setTitle("Lab is open!") - .setDescription("Feel free to come at work!") + .setDescription("Feel free to come and work!") .setColor(0x00FF00) .setTimestamp(Instant.now()) .build();