- 
- 
+ 
+ 
| Languages | Api's |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
From 4551ba6d62d2a10331746963ce41cf5fab06e855 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Tue, 15 Oct 2024 16:46:30 +0200
Subject: [PATCH 003/845] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index bd82a89d..4bed30dc 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
- 
+

| Languages | Api's |
From 3a0f9b729085816f0c338e6eed2668574f6bce76 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Tue, 15 Oct 2024 17:01:58 +0200
Subject: [PATCH 004/845] Create LICENSE
---
LICENSE | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 LICENSE
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..f2d1ae45
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Vxrpenter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
From 18b58d6c56d044758486f43d15040d280f7c28e9 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Tue, 15 Oct 2024 20:53:20 +0200
Subject: [PATCH 005/845] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 4bed30dc..0c70e871 100644
--- a/README.md
+++ b/README.md
@@ -38,4 +38,4 @@ This means that the unban process failed because the user is not banned/the ban
---
> [!NOTE]
-> If you are getting an error, not stated in this explanation and or not able to fix it, please create an issue so the issue can be resolved
+> If you are getting an error, not stated in this documentation and are not able to fix it, please create an issue so the issue can be resolved
From 01c37db351871c30c6f04fde5938f9c781fa4fa0 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Tue, 15 Oct 2024 22:11:39 +0200
Subject: [PATCH 006/845] Unban system fully working
---
README.md | 8 +--
.../commands/templates/TemplateCommand.java | 3 +-
.../{ => rules}/RulesTemplateUnit.java | 3 +-
.../templates}/support/Support.java | 2 +-
.../vxrp/bot/config/util/TRANSLATIONS.java | 3 ++
.../dev/vxrp/bot/events/buttons/Rules.java | 2 +-
.../dev/vxrp/bot/events/buttons/Unban.java | 6 +--
.../dev/vxrp/bot/events/modals/Support.java | 2 +-
.../dev/vxrp/bot/events/modals/Unban.java | 51 +++++++++++++++++++
.../resources/translations/translations.yml | 30 +++++++++--
10 files changed, 92 insertions(+), 18 deletions(-)
rename src/main/java/dev/vxrp/bot/commands/templates/{ => rules}/RulesTemplateUnit.java (95%)
rename src/main/java/dev/vxrp/bot/{ => commands/templates}/support/Support.java (97%)
diff --git a/README.md b/README.md
index 0c70e871..f412dc8b 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,12 @@
## What is ScpToolsBot
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
index 39cf954e..a0900c73 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
@@ -1,10 +1,9 @@
package dev.vxrp.bot.commands.templates;
-import dev.vxrp.bot.support.Support;
+import dev.vxrp.bot.commands.templates.support.Support;
import dev.vxrp.bot.util.Enums.DCColor;
import dev.vxrp.bot.util.colors.ColorTool;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
-import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.dv8tion.jda.api.interactions.components.buttons.Button;
import org.slf4j.Logger;
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/RulesTemplateUnit.java b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
similarity index 95%
rename from src/main/java/dev/vxrp/bot/commands/templates/RulesTemplateUnit.java
rename to src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
index 8e8d20d2..09d119c8 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/RulesTemplateUnit.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
@@ -1,4 +1,4 @@
-package dev.vxrp.bot.commands.templates;
+package dev.vxrp.bot.commands.templates.rules;
import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.util.CONFIG;
@@ -9,7 +9,6 @@
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageHistory;
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
-import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.util.List;
diff --git a/src/main/java/dev/vxrp/bot/support/Support.java b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
similarity index 97%
rename from src/main/java/dev/vxrp/bot/support/Support.java
rename to src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
index 37d8ed68..be8f4cc2 100644
--- a/src/main/java/dev/vxrp/bot/support/Support.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
@@ -1,4 +1,4 @@
-package dev.vxrp.bot.support;
+package dev.vxrp.bot.commands.templates.support;
import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.managers.TranslationManager;
diff --git a/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java b/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java
index 5d6e1548..67f8b15a 100644
--- a/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java
+++ b/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java
@@ -36,6 +36,9 @@ public static final class TICKET {
public static final String UNBAN_BODY = "support.ticket_unban_body";
public static final String UNBAN_FOOTER = "support.ticket_unban_footer";
public static final String UNBAN_CREATED = "support.ticket_unban_created";
+ public static final String UNBAN_MESSAGE_ACCEPTED = "support.ticket_unban_message_accepted";
+ public static final String UNBAN_MESSAGE_DISMISSED = "support.ticket_unban_message_dismissed";
+ public static final String UNBAN_MESSAGE_SENT = "support.ticket_unban_message_sent";
}
}
}
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Rules.java b/src/main/java/dev/vxrp/bot/events/buttons/Rules.java
index 55ced862..e152efb9 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Rules.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Rules.java
@@ -1,7 +1,7 @@
package dev.vxrp.bot.events.buttons;
import org.slf4j.Logger;
-import dev.vxrp.bot.commands.templates.RulesTemplateUnit;
+import dev.vxrp.bot.commands.templates.rules.RulesTemplateUnit;
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
import java.util.Objects;
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Unban.java b/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
index 410cfbcd..5887f4f4 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
@@ -9,7 +9,6 @@
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
import net.dv8tion.jda.api.interactions.modals.Modal;
-import java.io.IOException;
import java.util.Objects;
public class Unban {
@@ -34,16 +33,15 @@ public static void createUnbanTicket(ButtonInteractionEvent event, TranslationMa
}
public static void dismissTicket(ButtonInteractionEvent event, TranslationManager translationManager, User user) {
+ String steamID = Objects.requireNonNull(event.getButton().getId()).split(":")[2];
event.replyModal(
- Modal.create("reason_action_unban_dismiss:"+user.getId()+":"+event.getMessageId()+":", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_TITLE))
+ Modal.create("reason_action_reason_dismiss:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_TITLE))
.addComponents(ActionRow.of(shortModal(
"reason_action_reason",
translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_FIRST_TITLE),
translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_FIRST_PLACEHOLDER),
10, 100
))).build()).queue();
-
- event.getMessage().delete().queue();
}
public static void acceptTicket(ButtonInteractionEvent event, TranslationManager translationManager, User user) {
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Support.java b/src/main/java/dev/vxrp/bot/events/modals/Support.java
index 3afeed82..d80a4eb4 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Support.java
@@ -109,7 +109,7 @@ public static void createUnbanTicket(ModalInteractionEvent event, TranslationMan
event.getGuild().getIconUrl(), event.getUser()).build())
.addActionRow(
Button.success("accept_support_ticket:"+userID+":"+steamID+":", "Accept Ticket"),
- Button.danger("dismiss_unban_ticket:"+userID+":", "Dismiss Ticket"),
+ Button.danger("dismiss_unban_ticket:"+userID+":"+steamID+":", "Dismiss Ticket"),
Button.secondary("settings_unban_ticket", "Settings")
).queue();
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Unban.java b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
index b734df58..8b740fba 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
@@ -2,7 +2,9 @@
import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.util.CONFIG;
+import dev.vxrp.bot.config.util.TRANSLATIONS;
import dev.vxrp.bot.util.cedmod.CedModApi;
+import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
@@ -24,9 +26,58 @@ public static void acceptUnban(ModalInteractionEvent event) throws IOException {
String banListID = ScpTools.getConfigManager().getString(CONFIG.CEDMOD.MASTER_BAN_LIST_ID);
String banID = CedModApi.getBanId(instanceUrl, apiKey, banListID, steamID);
+ bannedUser.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
+ builderAccepted(bannedUser.getGlobalName()).build(),
+ new EmbedBuilder()
+ .setDescription(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_ACCEPTED)
+ .replace("%steamID%", steamID)
+ .replace("%reason%", reason))
+ .build()
+ )).queue();
+
CedModApi.executeUnban(instanceUrl, apiKey, banID, reason);
+
+ event.reply(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_SENT)).setEphemeral(true).queue();
}
public static void dismissUnban(ModalInteractionEvent event) {
+ String messageID = event.getModalId().split(":")[3];
+ Objects.requireNonNull(Objects.requireNonNull(event.getGuild()).getTextChannelById(Objects.requireNonNull(event.getChannelId()))).deleteMessageById(messageID).queue();
+
+ User bannedUser = Objects.requireNonNull(Objects.requireNonNull(event.getGuild()).getMemberById(event.getModalId().split(":")[1])).getUser();
+ String steamID = event.getModalId().split(":")[2];
+ String reason = Objects.requireNonNull(event.getValue("reason_action_reason")).getAsString();
+
+ bannedUser.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
+ builderDismissed(event.getUser().getGlobalName()).build(),
+ new EmbedBuilder()
+ .setDescription(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_DISMISSED)
+ .replace("%steamID%", steamID)
+ .replace("%reason%", reason))
+ .build()
+ )).queue();
+
+ event.reply(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_SENT)).setEphemeral(true).queue();
+ }
+
+ private static EmbedBuilder builderDismissed(String username) {
+ return new EmbedBuilder()
+ .setDescription("""
+ ```ansi
+ Ticket Answer: [2;31m[1;31mDismissed[0m[2;32m[0m \s
+ Creator: [2;31m[1;31m[1;33mYou[0m[2;31m[0m | Handler: [2;31m[1;31m[1;33m""" +username+"""
+ [0m[1;31m[0m[2;31m[0m
+ ```
+ """);
+ }
+ private static EmbedBuilder builderAccepted(String username) {
+ return new EmbedBuilder()
+ .setDescription("""
+ ```ansi
+ Ticket Answer: [2;32m[1;32mAccepted[0m[2;32m[0m \s
+ Creator: [2;31m[1;31m[1;33mYou[0m[2;31m[0m | Handler: [2;31m[1;31m[1;33m""" +username+"""
+ [0m[1;31m[0m[2;31m[0m
+ ```
+ """);
}
}
diff --git a/src/main/resources/translations/translations.yml b/src/main/resources/translations/translations.yml
index e0517c0b..725d59d9 100644
--- a/src/main/resources/translations/translations.yml
+++ b/src/main/resources/translations/translations.yml
@@ -66,8 +66,8 @@ support:
ticket_unban_body: "
Unban Request is getting reviewed. A response from our moderation team may take a bit\n
- __**Steam ID:**__
- ||%steamID%||
+ __**Steam ID:**__\n
+ ||%steamID%||\n
__**Ban Reason:**__\n
```%reason%```
@@ -76,4 +76,28 @@ support:
```%reasoning%```
"
ticket_unban_footer: "Created on the %date% at %time%h"
- ticket_unban_created: "Your unban request has been issued"
\ No newline at end of file
+ ticket_unban_created: "Your unban request has been issued"
+
+ ticket_unban_message_accepted: "
+ Your unban request under the steam ID (see down below) was accepted. You may now join the
+ server again without any punishment. We are sorry for the inconvenience and hope that you
+ will enjoy our Server again\n
+
+ __**Steam ID:**__\n
+ ||%steamID%||\n
+
+ __**Acceptance Reason:**__\n
+ ```%reason%```
+ "
+ ticket_unban_message_dismissed: "
+ Your unban request under the steam ID (see down below) was dismissed, you may not appeal this
+ ban again until given permission by server administration or if this case resolves and another
+ one arises\n
+
+ __**Steam ID:**__\n
+ ||%steamID%||\n
+
+ __**Dismiss Reason:**__\n
+ ```%reason%```
+ "
+ ticket_unban_message_sent: "Your answer was sent and actions corresponding to it have been taken"
\ No newline at end of file
From d88edb60e9f401fe21b252c663bb10733be44c82 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Wed, 16 Oct 2024 18:32:38 +0200
Subject: [PATCH 007/845] Improved logger unit and added choices for coming
features
---
src/main/java/dev/vxrp/bot/commands/CommandManager.java | 8 ++++++--
.../dev/vxrp/bot/commands/templates/TemplateCommand.java | 6 ++++--
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/main/java/dev/vxrp/bot/commands/CommandManager.java b/src/main/java/dev/vxrp/bot/commands/CommandManager.java
index 0771aade..57a6d032 100644
--- a/src/main/java/dev/vxrp/bot/commands/CommandManager.java
+++ b/src/main/java/dev/vxrp/bot/commands/CommandManager.java
@@ -35,7 +35,11 @@ public void Initialize(JDA api) {
.setDefaultPermissions(DefaultMemberPermissions.enabledFor(new PermissionListConverter(templateDefaultPermissions).convert()))
.addOptions(
new OptionData(OptionType.STRING, "template", "What template are you referring to", true)
- .addChoice("rules", "rules").addChoice("support", "support")
+ .addChoice("rules", "rules")
+ .addChoice("support", "support")
+ .addChoice("deregistration", "deregistration")
+ .addChoice("regulars", "regulars")
+ .addChoice("adminpanel", "adminpanel")
));
}
for (String command : activeCommands) {
@@ -43,4 +47,4 @@ public void Initialize(JDA api) {
logger.info("Initialized command: {}", command);
}
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
index a0900c73..be76385f 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
@@ -26,11 +26,13 @@ public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
Button.danger("update_rules", "Update Rules")
)
.setEphemeral(true).queue();
- logger.info("User {} executed command template with args 'rules'", ColorTool.apply(DCColor.GREEN, event.getUser().getGlobalName()));
}
if (template.equals("support")) {
Support.pasteSupportTemplate(Objects.requireNonNull(event.getGuild()), event.getChannelId());
- logger.info("User {} executed command template with args 'support'", ColorTool.apply(DCColor.GREEN, event.getUser().getGlobalName()));
}
+ if (template.equals("deregistration")) {
+
+ }
+ logger.info("User {} executed command template with args '{}'", ColorTool.apply(DCColor.GREEN, event.getUser().getGlobalName()), template);
}
}
From efcedf0aa1d3e56755e7a23b31aec042742fa849 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Wed, 16 Oct 2024 18:39:05 +0200
Subject: [PATCH 008/845] Little improvement to the commands working with fewer
variables
---
.../bot/commands/templates/TemplateCommand.java | 3 ++-
.../templates/rules/RulesTemplateUnit.java | 7 +++----
.../bot/commands/templates/support/Support.java | 17 +++++++++--------
3 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
index be76385f..d2d73583 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
@@ -1,5 +1,6 @@
package dev.vxrp.bot.commands.templates;
+import dev.vxrp.bot.commands.templates.deregistration.DeRegistration;
import dev.vxrp.bot.commands.templates.support.Support;
import dev.vxrp.bot.util.Enums.DCColor;
import dev.vxrp.bot.util.colors.ColorTool;
@@ -31,7 +32,7 @@ public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
Support.pasteSupportTemplate(Objects.requireNonNull(event.getGuild()), event.getChannelId());
}
if (template.equals("deregistration")) {
-
+ DeRegistration.pasteDeRegisterTemplate();
}
logger.info("User {} executed command template with args '{}'", ColorTool.apply(DCColor.GREEN, event.getUser().getGlobalName()), template);
}
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
index 09d119c8..aacefe09 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
@@ -9,6 +9,7 @@
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageHistory;
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
+import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import java.io.IOException;
import java.util.List;
@@ -30,10 +31,8 @@ private static EmbedBuilder embed(Guild guild, TextChannel channel) {
.setFooter(ScpTools.getConfigManager().getString(CONFIG.RULES.EMBED_FOOTER), guild.getIconUrl());
}
- public static void pasteRules(Guild guild, String channelID) {
- TextChannel channel = guild.getTextChannelById(channelID);
- assert channel != null;
- channel.sendMessageEmbeds(Objects.requireNonNull(embed(guild, channel)).build()).queue();
+ public static void pasteRules(SlashCommandInteractionEvent event) {
+ event.getChannel().sendMessageEmbeds(Objects.requireNonNull(embed(event.getGuild(), event.getChannel().asTextChannel())).build()).queue();
}
public static void updateRules(Guild guild, String channelID,String messageId) {
TextChannel channel = guild.getTextChannelById(channelID);
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
index be8f4cc2..938ebaf2 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
@@ -6,6 +6,7 @@
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.emoji.Emoji;
+import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.interactions.components.buttons.Button;
import java.awt.*;
@@ -14,15 +15,15 @@
public class Support {
private static final TranslationManager translationManager = ScpTools.getTranslationManager();
- public static void pasteSupportTemplate(Guild guild, String ChannelID) {
- Objects.requireNonNull(guild.getTextChannelById(ChannelID)).sendMessageEmbeds(new EmbedBuilder()
- .setColor(Color.decode("#5865F2"))
- .setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_TITLE))
- .setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_BODY))
- .setColor(Color.DARK_GRAY)
- .build())
+ public static void pasteSupportTemplate(SlashCommandInteractionEvent event) {
+ event.getChannel().sendMessageEmbeds(new EmbedBuilder()
+ .setColor(Color.decode("#5865F2"))
+ .setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_TITLE))
+ .setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_BODY))
+ .setColor(Color.DARK_GRAY)
+ .build())
.queue();
- Objects.requireNonNull(guild.getTextChannelById(ChannelID)).sendMessageEmbeds(new EmbedBuilder()
+ event.getChannel().sendMessageEmbeds(new EmbedBuilder()
.setColor(Color.decode("#5865F2"))
.setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_TITLE))
.setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_BODY))
From 86a601173dcd284a1626696cc5c872ade0ec4041 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Wed, 16 Oct 2024 18:40:36 +0200
Subject: [PATCH 009/845] Made TemplateCommand work with the templates again
---
.../java/dev/vxrp/bot/commands/templates/TemplateCommand.java | 4 ++--
src/main/java/dev/vxrp/bot/events/ButtonListener.java | 2 --
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
index d2d73583..b2143e0e 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
@@ -29,10 +29,10 @@ public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
.setEphemeral(true).queue();
}
if (template.equals("support")) {
- Support.pasteSupportTemplate(Objects.requireNonNull(event.getGuild()), event.getChannelId());
+ Support.pasteSupportTemplate(event);
}
if (template.equals("deregistration")) {
- DeRegistration.pasteDeRegisterTemplate();
+ DeRegistration.pasteDeRegisterTemplate(event);
}
logger.info("User {} executed command template with args '{}'", ColorTool.apply(DCColor.GREEN, event.getUser().getGlobalName()), template);
}
diff --git a/src/main/java/dev/vxrp/bot/events/ButtonListener.java b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
index eae18f14..a278c5eb 100644
--- a/src/main/java/dev/vxrp/bot/events/ButtonListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
@@ -11,8 +11,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-
public class ButtonListener extends ListenerAdapter {
public final Logger logger = LoggerFactory.getLogger(ButtonListener.class);
TranslationManager translationManager = ScpTools.getTranslationManager();
From 11f9c2d1dd465e1290fe307a107dd4b08596f2a7 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Wed, 16 Oct 2024 18:46:48 +0200
Subject: [PATCH 010/845] Moved methods to their responding classes
---
.../dev/vxrp/bot/events/modals/Support.java | 60 +-----------
.../dev/vxrp/bot/events/modals/Unban.java | 94 ++++++++++++++-----
.../vxrp/bot/util/builder/StatsBuilder.java | 36 +++++++
3 files changed, 111 insertions(+), 79 deletions(-)
create mode 100644 src/main/java/dev/vxrp/bot/util/builder/StatsBuilder.java
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Support.java b/src/main/java/dev/vxrp/bot/events/modals/Support.java
index d80a4eb4..b72547dd 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Support.java
@@ -5,6 +5,7 @@
import dev.vxrp.bot.config.util.CONFIG;
import dev.vxrp.bot.config.util.TRANSLATIONS;
import dev.vxrp.bot.util.Enums.DCColor;
+import dev.vxrp.bot.util.builder.StatsBuilder;
import dev.vxrp.bot.util.colors.ColorTool;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
@@ -50,7 +51,7 @@ public static void createSupportTicket(ModalInteractionEvent event, TranslationM
.grant(EnumSet.of(Permission.VIEW_CHANNEL, Permission.MESSAGE_SEND))
.queue();
}
- textChannel.sendMessageEmbeds(builderStatus(userName).build()).queue();
+ textChannel.sendMessageEmbeds(StatsBuilder.buildStatus(userName).build()).queue();
textChannel.sendMessageEmbeds( builder(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_TITLE).replace("%name%", name),
translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_BODY)
.replace("%subject%", subject)
@@ -68,53 +69,6 @@ public static void createSupportTicket(ModalInteractionEvent event, TranslationM
logger.info("Created new support ticket by user {} - under name {}", ColorTool.apply(DCColor.GREEN, userName), ColorTool.apply(DCColor.RED, name));
}
- public static void createUnbanTicket(ModalInteractionEvent event, TranslationManager translationManager, Logger logger) {
- Member member = event.getMember();
- assert member != null;
- String userName = Objects.requireNonNull(member.getUser().getGlobalName());
- String userID = Objects.requireNonNull(member.getUser().getId());
- Guild guild = event.getGuild();
- if (guild == null) return;
-
- String steamID = Objects.requireNonNull(event.getValue("unban_steamID")).getAsString();
- String reason = Objects.requireNonNull(event.getValue("unban_ban_reason")).getAsString();
- String reasoning = Objects.requireNonNull(event.getValue("unban_reasoning")).getAsString();
- String name = "Request #" + ThreadLocalRandom.current().nextInt(1535, 75808);
- String time = new SimpleDateFormat("HH:mm").format(Calendar.getInstance().getTime());
- String date = new SimpleDateFormat("dd.MM.yyyy").format(Calendar.getInstance().getTime());
-
- TextChannel textChannel = event.getGuild().getTextChannelById(ScpTools.getConfigManager().getString(CONFIG.SUPPORT_SETTINGS.UNBAN_CHANNEL_ID));
-
- assert textChannel != null;
- event.reply(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_CREATED)
- .replace("%channel%", "<#"+textChannel.getId()+">")).setEphemeral(true).queue();
-
- List
roleIDs = ScpTools.getConfigManager().getStringList(CONFIG.SUPPORT_SETTINGS.ROLES_ACCESS_UNBAN_TICKETS);
- for (String id : roleIDs) {
- textChannel.upsertPermissionOverride(
- Objects.requireNonNull(guild.getRoleById(id)))
- .grant(EnumSet.of(Permission.VIEW_CHANNEL, Permission.MESSAGE_SEND))
- .queue();
- }
- textChannel.sendMessageEmbeds(
- builderStatus(userName).build(),
- builder(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_TITLE).replace("%name%", name),
- translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_BODY)
- .replace("%steamID%", steamID)
- .replace("%reason%", reason)
- .replace("%reasoning%", reasoning),
- translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_FOOTER)
- .replace("%date%", date)
- .replace("%time%", time),
- event.getGuild().getIconUrl(), event.getUser()).build())
- .addActionRow(
- Button.success("accept_support_ticket:"+userID+":"+steamID+":", "Accept Ticket"),
- Button.danger("dismiss_unban_ticket:"+userID+":"+steamID+":", "Dismiss Ticket"),
- Button.secondary("settings_unban_ticket", "Settings")
- ).queue();
-
- logger.info("Created new unban request by user {} - under name {}", ColorTool.apply(DCColor.GREEN, userName), ColorTool.apply(DCColor.RED, name));
- }
private static EmbedBuilder builder(String title, String body, String footerText, String IconURL, User user) {
EmbedBuilder builder = new EmbedBuilder();
@@ -125,15 +79,5 @@ private static EmbedBuilder builder(String title, String body, String footerText
builder.setFooter(footerText, IconURL);
return builder;
}
- private static EmbedBuilder builderStatus(String username) {
- return new EmbedBuilder()
- .setDescription("""
- ```ansi
- Ticket Status: [2;32m[1;32mOpen[0m[2;32m[0m \s
- Handler: [2;31m[1;31mNone[0m[2;31m[0m | Creator: [2;31m[1;31m[1;33m""" +username+"""
- [0m[1;31m[0m[2;31m[0m
- ```
- """);
- }
}
\ No newline at end of file
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Unban.java b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
index 8b740fba..da09326c 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
@@ -1,17 +1,80 @@
package dev.vxrp.bot.events.modals;
import dev.vxrp.bot.ScpTools;
+import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.config.util.CONFIG;
import dev.vxrp.bot.config.util.TRANSLATIONS;
+import dev.vxrp.bot.util.Enums.DCColor;
+import dev.vxrp.bot.util.builder.StatsBuilder;
import dev.vxrp.bot.util.cedmod.CedModApi;
+import dev.vxrp.bot.util.colors.ColorTool;
import net.dv8tion.jda.api.EmbedBuilder;
+import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.User;
+import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
+import net.dv8tion.jda.api.interactions.components.buttons.Button;
+import org.slf4j.Logger;
import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.EnumSet;
+import java.util.List;
import java.util.Objects;
+import java.util.concurrent.ThreadLocalRandom;
public class Unban {
+ public static void createUnbanTicket(ModalInteractionEvent event, TranslationManager translationManager, Logger logger) {
+ Member member = event.getMember();
+ assert member != null;
+ String userName = Objects.requireNonNull(member.getUser().getGlobalName());
+ String userID = Objects.requireNonNull(member.getUser().getId());
+ Guild guild = event.getGuild();
+ if (guild == null) return;
+
+ String steamID = Objects.requireNonNull(event.getValue("unban_steamID")).getAsString();
+ String reason = Objects.requireNonNull(event.getValue("unban_ban_reason")).getAsString();
+ String reasoning = Objects.requireNonNull(event.getValue("unban_reasoning")).getAsString();
+ String name = "Request #" + ThreadLocalRandom.current().nextInt(1535, 75808);
+ String time = new SimpleDateFormat("HH:mm").format(Calendar.getInstance().getTime());
+ String date = new SimpleDateFormat("dd.MM.yyyy").format(Calendar.getInstance().getTime());
+
+ TextChannel textChannel = event.getGuild().getTextChannelById(ScpTools.getConfigManager().getString(CONFIG.SUPPORT_SETTINGS.UNBAN_CHANNEL_ID));
+
+ assert textChannel != null;
+ event.reply(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_CREATED)
+ .replace("%channel%", "<#"+textChannel.getId()+">")).setEphemeral(true).queue();
+
+ List roleIDs = ScpTools.getConfigManager().getStringList(CONFIG.SUPPORT_SETTINGS.ROLES_ACCESS_UNBAN_TICKETS);
+ for (String id : roleIDs) {
+ textChannel.upsertPermissionOverride(
+ Objects.requireNonNull(guild.getRoleById(id)))
+ .grant(EnumSet.of(Permission.VIEW_CHANNEL, Permission.MESSAGE_SEND))
+ .queue();
+ }
+ textChannel.sendMessageEmbeds(
+ StatsBuilder.buildStatus(userName).build(),
+ builder(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_TITLE).replace("%name%", name),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_BODY)
+ .replace("%steamID%", steamID)
+ .replace("%reason%", reason)
+ .replace("%reasoning%", reasoning),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_FOOTER)
+ .replace("%date%", date)
+ .replace("%time%", time),
+ event.getGuild().getIconUrl(), event.getUser()).build())
+ .addActionRow(
+ Button.success("accept_support_ticket:"+userID+":"+steamID+":", "Accept Ticket"),
+ Button.danger("dismiss_unban_ticket:"+userID+":"+steamID+":", "Dismiss Ticket"),
+ Button.secondary("settings_unban_ticket", "Settings")
+ ).queue();
+
+ logger.info("Created new unban request by user {} - under name {}", ColorTool.apply(DCColor.GREEN, userName), ColorTool.apply(DCColor.RED, name));
+ }
+
public static void acceptUnban(ModalInteractionEvent event) throws IOException {
String messageID = event.getModalId().split(":")[3];
@@ -27,7 +90,7 @@ public static void acceptUnban(ModalInteractionEvent event) throws IOException {
String banID = CedModApi.getBanId(instanceUrl, apiKey, banListID, steamID);
bannedUser.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
- builderAccepted(bannedUser.getGlobalName()).build(),
+ StatsBuilder.buildAccepted(bannedUser.getGlobalName()).build(),
new EmbedBuilder()
.setDescription(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_ACCEPTED)
.replace("%steamID%", steamID)
@@ -49,7 +112,7 @@ public static void dismissUnban(ModalInteractionEvent event) {
String reason = Objects.requireNonNull(event.getValue("reason_action_reason")).getAsString();
bannedUser.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
- builderDismissed(event.getUser().getGlobalName()).build(),
+ StatsBuilder.buildDismissed(event.getUser().getGlobalName()).build(),
new EmbedBuilder()
.setDescription(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_DISMISSED)
.replace("%steamID%", steamID)
@@ -60,24 +123,13 @@ public static void dismissUnban(ModalInteractionEvent event) {
event.reply(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_SENT)).setEphemeral(true).queue();
}
- private static EmbedBuilder builderDismissed(String username) {
- return new EmbedBuilder()
- .setDescription("""
- ```ansi
- Ticket Answer: [2;31m[1;31mDismissed[0m[2;32m[0m \s
- Creator: [2;31m[1;31m[1;33mYou[0m[2;31m[0m | Handler: [2;31m[1;31m[1;33m""" +username+"""
- [0m[1;31m[0m[2;31m[0m
- ```
- """);
- }
- private static EmbedBuilder builderAccepted(String username) {
- return new EmbedBuilder()
- .setDescription("""
- ```ansi
- Ticket Answer: [2;32m[1;32mAccepted[0m[2;32m[0m \s
- Creator: [2;31m[1;31m[1;33mYou[0m[2;31m[0m | Handler: [2;31m[1;31m[1;33m""" +username+"""
- [0m[1;31m[0m[2;31m[0m
- ```
- """);
+ private static EmbedBuilder builder(String title, String body, String footerText, String IconURL, User user) {
+ EmbedBuilder builder = new EmbedBuilder();
+
+ builder.setThumbnail(user.getAvatarUrl());
+ builder.setTitle(title);
+ builder.setDescription(body);
+ builder.setFooter(footerText, IconURL);
+ return builder;
}
}
diff --git a/src/main/java/dev/vxrp/bot/util/builder/StatsBuilder.java b/src/main/java/dev/vxrp/bot/util/builder/StatsBuilder.java
new file mode 100644
index 00000000..3c603056
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/util/builder/StatsBuilder.java
@@ -0,0 +1,36 @@
+package dev.vxrp.bot.util.builder;
+
+import net.dv8tion.jda.api.EmbedBuilder;
+
+public class StatsBuilder {
+ public static EmbedBuilder buildStatus(String username) {
+ return new EmbedBuilder()
+ .setDescription("""
+ ```ansi
+ Ticket Status: [2;32m[1;32mOpen[0m[2;32m[0m \s
+ Handler: [2;31m[1;31mNone[0m[2;31m[0m | Creator: [2;31m[1;31m[1;33m""" +username+"""
+ [0m[1;31m[0m[2;31m[0m
+ ```
+ """);
+ }
+ public static EmbedBuilder buildDismissed(String username) {
+ return new EmbedBuilder()
+ .setDescription("""
+ ```ansi
+ Ticket Answer: [2;31m[1;31mDismissed[0m[2;32m[0m \s
+ Creator: [2;31m[1;31m[1;33mYou[0m[2;31m[0m | Handler: [2;31m[1;31m[1;33m""" +username+"""
+ [0m[1;31m[0m[2;31m[0m
+ ```
+ """);
+ }
+ public static EmbedBuilder buildAccepted(String username) {
+ return new EmbedBuilder()
+ .setDescription("""
+ ```ansi
+ Ticket Answer: [2;32m[1;32mAccepted[0m[2;32m[0m \s
+ Creator: [2;31m[1;31m[1;33mYou[0m[2;31m[0m | Handler: [2;31m[1;31m[1;33m""" +username+"""
+ [0m[1;31m[0m[2;31m[0m
+ ```
+ """);
+ }
+}
From 42f6972c5d4af574c7a7b9b938b3fa9fd7ea2dd2 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Wed, 16 Oct 2024 18:49:02 +0200
Subject: [PATCH 011/845] Fixed some issues created in the latest commits
---
.../vxrp/bot/commands/templates/rules/RulesTemplateUnit.java | 3 ++-
src/main/java/dev/vxrp/bot/events/ModalListener.java | 2 +-
src/main/java/dev/vxrp/bot/events/buttons/Rules.java | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
index aacefe09..07e38a97 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
@@ -10,6 +10,7 @@
import net.dv8tion.jda.api.entities.MessageHistory;
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
+import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
import java.io.IOException;
import java.util.List;
@@ -31,7 +32,7 @@ private static EmbedBuilder embed(Guild guild, TextChannel channel) {
.setFooter(ScpTools.getConfigManager().getString(CONFIG.RULES.EMBED_FOOTER), guild.getIconUrl());
}
- public static void pasteRules(SlashCommandInteractionEvent event) {
+ public static void pasteRules(ButtonInteractionEvent event) {
event.getChannel().sendMessageEmbeds(Objects.requireNonNull(embed(event.getGuild(), event.getChannel().asTextChannel())).build()).queue();
}
public static void updateRules(Guild guild, String channelID,String messageId) {
diff --git a/src/main/java/dev/vxrp/bot/events/ModalListener.java b/src/main/java/dev/vxrp/bot/events/ModalListener.java
index e8299c35..31a9e2d3 100644
--- a/src/main/java/dev/vxrp/bot/events/ModalListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ModalListener.java
@@ -21,7 +21,7 @@ public void onModalInteraction(ModalInteractionEvent event) {
Support.createSupportTicket(event, translationManager, logger);
}
if (event.getModalId().equals("unbanTicket")) {
- Support.createUnbanTicket(event, translationManager, logger);
+ Unban.createUnbanTicket(event, translationManager, logger);
}
if (event.getModalId().startsWith("reason_action_unban_accept")) {
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Rules.java b/src/main/java/dev/vxrp/bot/events/buttons/Rules.java
index e152efb9..36a43a29 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Rules.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Rules.java
@@ -10,7 +10,7 @@ public class Rules {
public static void paste(Logger logger, ButtonInteractionEvent event) {
event.reply("Pasting rules...").setEphemeral(true).queue();
logger.warn("Rule pasting might take a while and the usage of the parser may create performance issues");
- RulesTemplateUnit.pasteRules(Objects.requireNonNull(event.getGuild()), event.getChannelId());
+ RulesTemplateUnit.pasteRules(event);
}
public static void update(Logger logger, ButtonInteractionEvent event) {
RulesTemplateUnit.updateRules(Objects.requireNonNull(event.getGuild()),event.getChannelId(), event.getMessageId());
From c355be778ea3de3c386773f6017542afe0bd3519 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Wed, 16 Oct 2024 18:59:17 +0200
Subject: [PATCH 012/845] Removed unused imports, methods, exceptions
---
.idea/misc.xml | 4 ---
src/main/java/dev/vxrp/bot/ScpTools.java | 4 +--
.../deregistration/DeRegistration.java | 32 +++++++++++++++++++
.../templates/rules/RulesTemplateUnit.java | 1 -
.../commands/templates/support/Support.java | 2 --
.../bot/config/managers/ConfigManager.java | 6 ----
.../config/managers/TranslationManager.java | 1 -
.../dev/vxrp/bot/events/ButtonListener.java | 8 +++--
.../dev/vxrp/bot/events/modals/Support.java | 1 -
.../dev/vxrp/bot/util/colors/ColorTool.java | 4 ---
10 files changed, 39 insertions(+), 24 deletions(-)
create mode 100644 src/main/java/dev/vxrp/bot/commands/templates/deregistration/DeRegistration.java
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 81458116..fe0b0dab 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,9 +1,5 @@
-
-
-
-
diff --git a/src/main/java/dev/vxrp/bot/ScpTools.java b/src/main/java/dev/vxrp/bot/ScpTools.java
index ac611845..8e455cdf 100644
--- a/src/main/java/dev/vxrp/bot/ScpTools.java
+++ b/src/main/java/dev/vxrp/bot/ScpTools.java
@@ -9,7 +9,6 @@
import dev.vxrp.bot.config.util.CONFIG;
import dev.vxrp.bot.config.managers.ConfigManager;
import dev.vxrp.bot.events.ModalListener;
-import dev.vxrp.bot.util.cedmod.CedModApi;
import dev.vxrp.bot.util.colors.ColorTool;
import dev.vxrp.bot.util.Enums.DCColor;
import net.dv8tion.jda.api.JDA;
@@ -21,7 +20,6 @@
import org.slf4j.LoggerFactory;
import java.io.File;
-import java.io.IOException;
import java.nio.file.Paths;
import java.util.*;
@@ -31,7 +29,7 @@ public class ScpTools {
static ColorConfigManager colorConfigManager;
public final static Logger logger = LoggerFactory.getLogger(ScpTools.class);
- public static void main(String[] args) throws IOException {
+ public static void main(String[] args) {
List folders = Arrays.asList("configs", "translations");
for (String folder : folders) {
String folderPath = Paths.get(folder).toString();
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/deregistration/DeRegistration.java b/src/main/java/dev/vxrp/bot/commands/templates/deregistration/DeRegistration.java
new file mode 100644
index 00000000..762ea646
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/commands/templates/deregistration/DeRegistration.java
@@ -0,0 +1,32 @@
+package dev.vxrp.bot.commands.templates.deregistration;
+
+import dev.vxrp.bot.ScpTools;
+import dev.vxrp.bot.config.managers.TranslationManager;
+import dev.vxrp.bot.config.util.TRANSLATIONS;
+import net.dv8tion.jda.api.EmbedBuilder;
+import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
+
+import java.awt.*;
+
+public class DeRegistration {
+ private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+
+ public static void pasteDeRegisterTemplate(SlashCommandInteractionEvent event) {
+ event.getChannel().sendMessageEmbeds(new EmbedBuilder()
+ .setColor(Color.decode("#5865F2"))
+ .setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_TITLE))
+ .setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_BODY))
+ .setColor(Color.DARK_GRAY)
+ .build())
+ .queue();
+ event.getChannel().sendMessageEmbeds(new EmbedBuilder()
+ .setColor(Color.decode("#5865F2"))
+ .setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_TITLE))
+ .setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_BODY))
+ .setColor(Color.DARK_GRAY)
+ .build())
+ .addActionRow(
+
+ ).queue();
+ }
+}
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
index 07e38a97..b1dc9692 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
@@ -9,7 +9,6 @@
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageHistory;
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
-import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
import java.io.IOException;
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
index 938ebaf2..03d157f3 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
@@ -4,13 +4,11 @@
import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.config.util.TRANSLATIONS;
import net.dv8tion.jda.api.EmbedBuilder;
-import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.interactions.components.buttons.Button;
import java.awt.*;
-import java.util.Objects;
public class Support {
private static final TranslationManager translationManager = ScpTools.getTranslationManager();
diff --git a/src/main/java/dev/vxrp/bot/config/managers/ConfigManager.java b/src/main/java/dev/vxrp/bot/config/managers/ConfigManager.java
index 2f3dd106..1b508331 100644
--- a/src/main/java/dev/vxrp/bot/config/managers/ConfigManager.java
+++ b/src/main/java/dev/vxrp/bot/config/managers/ConfigManager.java
@@ -31,15 +31,9 @@ private YamlConfiguration getYamlConfig() {
final File file = new File(configPath.toString());
return YamlConfiguration.loadConfiguration(file);
}
- public Object getObject(String key) {
- return getYamlConfig().getConfigurationSection(key);
- }
public String getString(String key) {
return getYamlConfig().getString(key);
}
- public int getInt(String key) {
- return getYamlConfig().getInt(key);
- }
public boolean getBoolean(String key) {
return getYamlConfig().getBoolean(key);
}
diff --git a/src/main/java/dev/vxrp/bot/config/managers/TranslationManager.java b/src/main/java/dev/vxrp/bot/config/managers/TranslationManager.java
index fed45c12..e67a2346 100644
--- a/src/main/java/dev/vxrp/bot/config/managers/TranslationManager.java
+++ b/src/main/java/dev/vxrp/bot/config/managers/TranslationManager.java
@@ -8,7 +8,6 @@
import java.io.InputStream;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.List;
public class TranslationManager {
public final Path configPath = Paths.get("./translations/translation.yml");
diff --git a/src/main/java/dev/vxrp/bot/events/ButtonListener.java b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
index a278c5eb..4ba3a02a 100644
--- a/src/main/java/dev/vxrp/bot/events/ButtonListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
@@ -46,11 +46,15 @@ public void onButtonInteraction(ButtonInteractionEvent event) {
}
if (event.getComponentId().startsWith("accept_support_ticket")) {
User user = event.getJDA().getUserById(event.getComponentId().split(":")[1]);
- Unban.acceptTicket(event, translationManager, user);
+ if (user != null) {
+ Unban.acceptTicket(event, translationManager, user);
+ }
}
if (event.getComponentId().startsWith("dismiss_unban_ticket")) {
User user = event.getJDA().getUserById(event.getComponentId().split(":")[1]);
- Unban.dismissTicket(event, translationManager, user);
+ if (user != null) {
+ Unban.dismissTicket(event, translationManager, user);
+ }
}
if (event.getComponentId().equals("settings_unban_ticket")) {
//WIP
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Support.java b/src/main/java/dev/vxrp/bot/events/modals/Support.java
index b72547dd..f2cda47c 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Support.java
@@ -12,7 +12,6 @@
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.User;
-import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
import net.dv8tion.jda.api.interactions.components.buttons.Button;
import org.slf4j.Logger;
diff --git a/src/main/java/dev/vxrp/bot/util/colors/ColorTool.java b/src/main/java/dev/vxrp/bot/util/colors/ColorTool.java
index 33e6e00d..f9418818 100644
--- a/src/main/java/dev/vxrp/bot/util/colors/ColorTool.java
+++ b/src/main/java/dev/vxrp/bot/util/colors/ColorTool.java
@@ -1,10 +1,6 @@
package dev.vxrp.bot.util.colors;
-import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.util.Enums.DCColor;
-import dev.vxrp.bot.util.Enums.SLColors;
-
-import java.util.*;
public class ColorTool {
From f195001040588f21d775b4065e3b8285b0214c11 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Wed, 16 Oct 2024 19:14:07 +0200
Subject: [PATCH 013/845] Removed unneeded nonsense
---
src/main/java/dev/vxrp/bot/events/ButtonListener.java | 9 ++++-----
src/main/java/dev/vxrp/bot/events/ModalListener.java | 7 ++-----
src/main/java/dev/vxrp/bot/events/buttons/Support.java | 5 ++++-
src/main/java/dev/vxrp/bot/events/buttons/Unban.java | 9 ++++++---
src/main/java/dev/vxrp/bot/events/modals/Support.java | 4 +++-
src/main/java/dev/vxrp/bot/events/modals/Unban.java | 4 +++-
6 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/src/main/java/dev/vxrp/bot/events/ButtonListener.java b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
index 4ba3a02a..d7cc5fcc 100644
--- a/src/main/java/dev/vxrp/bot/events/ButtonListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
@@ -13,7 +13,6 @@
public class ButtonListener extends ListenerAdapter {
public final Logger logger = LoggerFactory.getLogger(ButtonListener.class);
- TranslationManager translationManager = ScpTools.getTranslationManager();
@Override
public void onButtonInteraction(ButtonInteractionEvent event) {
@@ -26,7 +25,7 @@ public void onButtonInteraction(ButtonInteractionEvent event) {
}
// Support
if (event.getComponentId().equals("createNewTicket")) {
- Support.createSupportTicket(event, translationManager);
+ Support.createSupportTicket(event);
}
if (event.getComponentId().startsWith("close_support_ticket")) {
User user = event.getJDA().getUserById(event.getComponentId().split(":")[1]);
@@ -42,18 +41,18 @@ public void onButtonInteraction(ButtonInteractionEvent event) {
}
if (event.getComponentId().equals("createNewUnban")) {
- Unban.createUnbanTicket(event, translationManager);
+ Unban.createUnbanTicket(event);
}
if (event.getComponentId().startsWith("accept_support_ticket")) {
User user = event.getJDA().getUserById(event.getComponentId().split(":")[1]);
if (user != null) {
- Unban.acceptTicket(event, translationManager, user);
+ Unban.acceptTicket(event, user);
}
}
if (event.getComponentId().startsWith("dismiss_unban_ticket")) {
User user = event.getJDA().getUserById(event.getComponentId().split(":")[1]);
if (user != null) {
- Unban.dismissTicket(event, translationManager, user);
+ Unban.dismissTicket(event, user);
}
}
if (event.getComponentId().equals("settings_unban_ticket")) {
diff --git a/src/main/java/dev/vxrp/bot/events/ModalListener.java b/src/main/java/dev/vxrp/bot/events/ModalListener.java
index 31a9e2d3..896d8a7b 100644
--- a/src/main/java/dev/vxrp/bot/events/ModalListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ModalListener.java
@@ -1,7 +1,5 @@
package dev.vxrp.bot.events;
-import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.events.modals.Support;
import dev.vxrp.bot.events.modals.Unban;
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
@@ -13,15 +11,14 @@
public class ModalListener extends ListenerAdapter {
public final Logger logger = LoggerFactory.getLogger(ModalListener.class);
- TranslationManager translationManager = ScpTools.getTranslationManager();
@Override
public void onModalInteraction(ModalInteractionEvent event) {
if (event.getModalId().equals("supportTicket")) {
- Support.createSupportTicket(event, translationManager, logger);
+ Support.createSupportTicket(event, logger);
}
if (event.getModalId().equals("unbanTicket")) {
- Unban.createUnbanTicket(event, translationManager, logger);
+ Unban.createUnbanTicket(event, logger);
}
if (event.getModalId().startsWith("reason_action_unban_accept")) {
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Support.java b/src/main/java/dev/vxrp/bot/events/buttons/Support.java
index c99abfb4..bd72daf0 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Support.java
@@ -1,5 +1,6 @@
package dev.vxrp.bot.events.buttons;
+import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.config.util.TRANSLATIONS;
import net.dv8tion.jda.api.EmbedBuilder;
@@ -15,7 +16,9 @@
import java.util.List;
public class Support {
- public static void createSupportTicket(ButtonInteractionEvent event, TranslationManager translationManager) {
+ private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+
+ public static void createSupportTicket(ButtonInteractionEvent event) {
if (event.getComponentId().equals("createNewTicket")) {
event.replyModal(
Modal.create("supportTicket", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_TITLE))
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Unban.java b/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
index 5887f4f4..f27a7bf1 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
@@ -1,5 +1,6 @@
package dev.vxrp.bot.events.buttons;
+import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.config.util.TRANSLATIONS;
import net.dv8tion.jda.api.entities.User;
@@ -12,7 +13,9 @@
import java.util.Objects;
public class Unban {
- public static void createUnbanTicket(ButtonInteractionEvent event, TranslationManager translationManager) {
+ private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+
+ public static void createUnbanTicket(ButtonInteractionEvent event) {
event.replyModal(
Modal.create("unbanTicket", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_TITLE))
.addComponents(
@@ -32,7 +35,7 @@ public static void createUnbanTicket(ButtonInteractionEvent event, TranslationMa
.build()).queue();
}
- public static void dismissTicket(ButtonInteractionEvent event, TranslationManager translationManager, User user) {
+ public static void dismissTicket(ButtonInteractionEvent event, User user) {
String steamID = Objects.requireNonNull(event.getButton().getId()).split(":")[2];
event.replyModal(
Modal.create("reason_action_reason_dismiss:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_TITLE))
@@ -44,7 +47,7 @@ public static void dismissTicket(ButtonInteractionEvent event, TranslationManage
))).build()).queue();
}
- public static void acceptTicket(ButtonInteractionEvent event, TranslationManager translationManager, User user) {
+ public static void acceptTicket(ButtonInteractionEvent event, User user) {
String steamID = Objects.requireNonNull(event.getButton().getId()).split(":")[2];
event.replyModal(
Modal.create("reason_action_unban_accept:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_TITLE))
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Support.java b/src/main/java/dev/vxrp/bot/events/modals/Support.java
index f2cda47c..d26f3765 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Support.java
@@ -21,7 +21,9 @@
import java.util.concurrent.ThreadLocalRandom;
public class Support {
- public static void createSupportTicket(ModalInteractionEvent event, TranslationManager translationManager, Logger logger) {
+ private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+
+ public static void createSupportTicket(ModalInteractionEvent event, Logger logger) {
Member member = event.getMember();
assert member != null;
String userName = Objects.requireNonNull(member.getUser().getGlobalName());
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Unban.java b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
index da09326c..f2ed8a58 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
@@ -27,7 +27,9 @@
import java.util.concurrent.ThreadLocalRandom;
public class Unban {
- public static void createUnbanTicket(ModalInteractionEvent event, TranslationManager translationManager, Logger logger) {
+ private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+
+ public static void createUnbanTicket(ModalInteractionEvent event, Logger logger) {
Member member = event.getMember();
assert member != null;
String userName = Objects.requireNonNull(member.getUser().getGlobalName());
From f7a44219d8caa8454dec2594acf678cd3903193a Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Thu, 17 Oct 2024 12:48:43 +0200
Subject: [PATCH 014/845] New Feature named notice of departure entering
production
---
.../dev/vxrp/bot/commands/CommandManager.java | 2 +-
.../commands/templates/TemplateCommand.java | 6 +++---
.../NoticeOfDeparture.java} | 21 +++++++------------
.../vxrp/bot/config/util/TRANSLATIONS.java | 4 ++++
.../resources/translations/translations.yml | 14 ++++++++++++-
5 files changed, 29 insertions(+), 18 deletions(-)
rename src/main/java/dev/vxrp/bot/commands/templates/{deregistration/DeRegistration.java => noticeOfDeparture/NoticeOfDeparture.java} (59%)
diff --git a/src/main/java/dev/vxrp/bot/commands/CommandManager.java b/src/main/java/dev/vxrp/bot/commands/CommandManager.java
index 57a6d032..8221ef2b 100644
--- a/src/main/java/dev/vxrp/bot/commands/CommandManager.java
+++ b/src/main/java/dev/vxrp/bot/commands/CommandManager.java
@@ -37,7 +37,7 @@ public void Initialize(JDA api) {
new OptionData(OptionType.STRING, "template", "What template are you referring to", true)
.addChoice("rules", "rules")
.addChoice("support", "support")
- .addChoice("deregistration", "deregistration")
+ .addChoice("notice of departure", "notice_of_departure")
.addChoice("regulars", "regulars")
.addChoice("adminpanel", "adminpanel")
));
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
index b2143e0e..4a7b3e4f 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
@@ -1,6 +1,6 @@
package dev.vxrp.bot.commands.templates;
-import dev.vxrp.bot.commands.templates.deregistration.DeRegistration;
+import dev.vxrp.bot.commands.templates.noticeOfDeparture.NoticeOfDeparture;
import dev.vxrp.bot.commands.templates.support.Support;
import dev.vxrp.bot.util.Enums.DCColor;
import dev.vxrp.bot.util.colors.ColorTool;
@@ -31,8 +31,8 @@ public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
if (template.equals("support")) {
Support.pasteSupportTemplate(event);
}
- if (template.equals("deregistration")) {
- DeRegistration.pasteDeRegisterTemplate(event);
+ if (template.equals("notice_of_departure")) {
+ NoticeOfDeparture.pasteDeRegisterTemplate(event);
}
logger.info("User {} executed command template with args '{}'", ColorTool.apply(DCColor.GREEN, event.getUser().getGlobalName()), template);
}
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/deregistration/DeRegistration.java b/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
similarity index 59%
rename from src/main/java/dev/vxrp/bot/commands/templates/deregistration/DeRegistration.java
rename to src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
index 762ea646..0cb45424 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/deregistration/DeRegistration.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
@@ -1,32 +1,27 @@
-package dev.vxrp.bot.commands.templates.deregistration;
+package dev.vxrp.bot.commands.templates.noticeOfDeparture;
import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.config.util.TRANSLATIONS;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
+import net.dv8tion.jda.api.interactions.components.buttons.Button;
import java.awt.*;
-public class DeRegistration {
+public class NoticeOfDeparture {
private static final TranslationManager translationManager = ScpTools.getTranslationManager();
public static void pasteDeRegisterTemplate(SlashCommandInteractionEvent event) {
event.getChannel().sendMessageEmbeds(new EmbedBuilder()
.setColor(Color.decode("#5865F2"))
- .setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_TITLE))
- .setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_BODY))
- .setColor(Color.DARK_GRAY)
- .build())
- .queue();
- event.getChannel().sendMessageEmbeds(new EmbedBuilder()
- .setColor(Color.decode("#5865F2"))
- .setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_TITLE))
- .setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_BODY))
+ .setTitle(translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_TITLE))
+ .setDescription(translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_BODY))
.setColor(Color.DARK_GRAY)
.build())
.addActionRow(
-
- ).queue();
+ Button.success("file_nod", "File Notice of Departure")
+ )
+ .queue();
}
}
diff --git a/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java b/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java
index 67f8b15a..e52a73fb 100644
--- a/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java
+++ b/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java
@@ -41,4 +41,8 @@ public static final class TICKET {
public static final String UNBAN_MESSAGE_SENT = "support.ticket_unban_message_sent";
}
}
+ public static final class NOTICE_OF_DEPARTURE {
+ public static final String FIRST_TITLE = "notice_of_departure.first_title";
+ public static final String FIRST_BODY = "notice_of_departure.first_body";
+ }
}
diff --git a/src/main/resources/translations/translations.yml b/src/main/resources/translations/translations.yml
index 725d59d9..187c3c7a 100644
--- a/src/main/resources/translations/translations.yml
+++ b/src/main/resources/translations/translations.yml
@@ -100,4 +100,16 @@ support:
__**Dismiss Reason:**__\n
```%reason%```
"
- ticket_unban_message_sent: "Your answer was sent and actions corresponding to it have been taken"
\ No newline at end of file
+ ticket_unban_message_sent: "Your answer was sent and actions corresponding to it have been taken"
+
+notice_of_departure:
+ first_title: "Notice of Departure for Discord and Secret Lab"
+ first_body: "
+ If you know that you are not going to be able to come online for a specified time, please fill out this form\n
+
+ __**Information to give:**__\n
+ - How to long will you be away, FORMAT: **[dd.MM.yyyy]**\n
+ - Please provide a short explanation on why you will be away without any details\n
+
+ Every timespan over 1 year will not be accepted and will be asked to leave the team
+ "
From 679eb149d11ebe2671944499b9c163365a0fcb36 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Thu, 17 Oct 2024 13:15:44 +0200
Subject: [PATCH 015/845] Update README.md
---
README.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/README.md b/README.md
index f412dc8b..6a2aa2fa 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,7 @@ ScpToolsBot is a discord bot application written in Java for Scp Secret Laborato
4. The process will automatically crash and create two new folders called `configs` and `translations`. Go into the `configs` folder and edit the `config.yml` file
5. After putting in required info start the bot again and it should be running
+Get a full guide [here](https://github.com/Vxrpenter/SCPToolsBot/wiki/Installation)
## Handling Issues
**Bot not starting, why?**
- Outdated JDK, install higher version
@@ -36,6 +37,9 @@ This means that no banId could be found meaning that the user isn't banned
This means that the unban process failed because the user is not banned/the ban id is invalid and does not exist
+Get a full guide [here](https://github.com/Vxrpenter/SCPToolsBot/wiki/Issue-Handling)
+
---
+
> [!NOTE]
> If you are getting an error, not stated in this documentation and are not able to fix it, please create an issue so the issue can be resolved
From fc9aa2a191b32c9bc3da98493d173a0015372dd1 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Thu, 17 Oct 2024 16:42:28 +0200
Subject: [PATCH 016/845] Update README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 6a2aa2fa..9aee8a89 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,8 @@
## What is ScpToolsBot
ScpToolsBot is a discord bot application written in Java for Scp Secret Laboratory discord servers. It includes support functions, cedmod api syncing, community and even team management features
+If you need any more information check out the [wiki](https://github.com/Vxrpenter/SCPToolsBot/wiki)
+
## Installation
1. Download the `.jar` file from the latest **STABLE** release
2. Install `JDK-17` or higher on your machine
From 3c64eb55d8f3e20bcf52d53508535ca1d12b873f Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Thu, 17 Oct 2024 16:44:26 +0200
Subject: [PATCH 017/845] Create CODE_OF_CONDUCT.md
---
CODE_OF_CONDUCT.md | 128 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
create mode 100644 CODE_OF_CONDUCT.md
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..38fac2e7
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,128 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, religion, or sexual identity
+and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the
+ overall community
+
+Examples of unacceptable behavior include:
+
+* The use of sexualized language or imagery, and sexual attention or
+ advances of any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or email
+ address, without their explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+discord.
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series
+of actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or
+permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within
+the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.0, available at
+https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct
+enforcement ladder](https://github.com/mozilla/diversity).
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see the FAQ at
+https://www.contributor-covenant.org/faq. Translations are available at
+https://www.contributor-covenant.org/translations.
From 7c098216046707832dc7cc118ff9da24ffbc524a Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Thu, 17 Oct 2024 18:23:22 +0200
Subject: [PATCH 018/845] Moved PermissionListConverter and PastebinUtil
---
.../vxrp/bot/util/{ => converter}/PermissionListConverter.java | 2 +-
.../java/dev/vxrp/bot/util/{ => pastebin}/PastebinUtil.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
rename src/main/java/dev/vxrp/bot/util/{ => converter}/PermissionListConverter.java (93%)
rename src/main/java/dev/vxrp/bot/util/{ => pastebin}/PastebinUtil.java (93%)
diff --git a/src/main/java/dev/vxrp/bot/util/PermissionListConverter.java b/src/main/java/dev/vxrp/bot/util/converter/PermissionListConverter.java
similarity index 93%
rename from src/main/java/dev/vxrp/bot/util/PermissionListConverter.java
rename to src/main/java/dev/vxrp/bot/util/converter/PermissionListConverter.java
index 286bec33..7c891f7b 100644
--- a/src/main/java/dev/vxrp/bot/util/PermissionListConverter.java
+++ b/src/main/java/dev/vxrp/bot/util/converter/PermissionListConverter.java
@@ -1,4 +1,4 @@
-package dev.vxrp.bot.util;
+package dev.vxrp.bot.util.converter;
import net.dv8tion.jda.api.Permission;
diff --git a/src/main/java/dev/vxrp/bot/util/PastebinUtil.java b/src/main/java/dev/vxrp/bot/util/pastebin/PastebinUtil.java
similarity index 93%
rename from src/main/java/dev/vxrp/bot/util/PastebinUtil.java
rename to src/main/java/dev/vxrp/bot/util/pastebin/PastebinUtil.java
index 2743154e..01671886 100644
--- a/src/main/java/dev/vxrp/bot/util/PastebinUtil.java
+++ b/src/main/java/dev/vxrp/bot/util/pastebin/PastebinUtil.java
@@ -1,4 +1,4 @@
-package dev.vxrp.bot.util;
+package dev.vxrp.bot.util.pastebin;
import java.io.BufferedReader;
import java.io.IOException;
From 419d082cd97b05739f0da0bdeae162f6b522f769 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Fri, 18 Oct 2024 17:20:50 +0200
Subject: [PATCH 019/845] Fixed a fatal error in user processing with the unban
forms
---
.../commands/templates/TemplateCommand.java | 2 ++
.../templates/rules/RulesTemplateUnit.java | 2 +-
.../dev/vxrp/bot/events/ButtonListener.java | 17 ++++++++------
.../dev/vxrp/bot/events/ModalListener.java | 2 ++
.../dev/vxrp/bot/events/modals/Support.java | 16 +++++++-------
.../dev/vxrp/bot/events/modals/Unban.java | 22 ++++++++++---------
src/main/resources/configs/config.yml | 7 ++++--
7 files changed, 40 insertions(+), 28 deletions(-)
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
index 4a7b3e4f..4167f1f6 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/TemplateCommand.java
@@ -35,5 +35,7 @@ public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
NoticeOfDeparture.pasteDeRegisterTemplate(event);
}
logger.info("User {} executed command template with args '{}'", ColorTool.apply(DCColor.GREEN, event.getUser().getGlobalName()), template);
+
+
}
}
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
index b1dc9692..86fd46d8 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
@@ -2,7 +2,7 @@
import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.util.CONFIG;
-import dev.vxrp.bot.util.PastebinUtil;
+import dev.vxrp.bot.util.pastebin.PastebinUtil;
import dev.vxrp.bot.util.parser.CustomColorParser;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Guild;
diff --git a/src/main/java/dev/vxrp/bot/events/ButtonListener.java b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
index d7cc5fcc..d4a74103 100644
--- a/src/main/java/dev/vxrp/bot/events/ButtonListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
@@ -43,22 +43,25 @@ public void onButtonInteraction(ButtonInteractionEvent event) {
if (event.getComponentId().equals("createNewUnban")) {
Unban.createUnbanTicket(event);
}
- if (event.getComponentId().startsWith("accept_support_ticket")) {
- User user = event.getJDA().getUserById(event.getComponentId().split(":")[1]);
- if (user != null) {
+ if (event.getComponentId().startsWith("accept_unban_ticket")) {
+ event.getJDA().retrieveUserById(event.getComponentId().split(":")[1]).queue(user -> {
Unban.acceptTicket(event, user);
- }
+ });
}
if (event.getComponentId().startsWith("dismiss_unban_ticket")) {
- User user = event.getJDA().getUserById(event.getComponentId().split(":")[1]);
- if (user != null) {
+ event.getJDA().retrieveUserById(event.getComponentId().split(":")[1]).queue(user -> {
Unban.dismissTicket(event, user);
- }
+ });
}
if (event.getComponentId().equals("settings_unban_ticket")) {
//WIP
event.reply("Feature currently under development").queue();
}
+
+ //Notice of Departure
+ if (event.getComponentId().equals("file_nod")) {
+
+ }
}
}
diff --git a/src/main/java/dev/vxrp/bot/events/ModalListener.java b/src/main/java/dev/vxrp/bot/events/ModalListener.java
index 896d8a7b..b21d9bee 100644
--- a/src/main/java/dev/vxrp/bot/events/ModalListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ModalListener.java
@@ -8,6 +8,8 @@
import org.slf4j.LoggerFactory;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
public class ModalListener extends ListenerAdapter {
public final Logger logger = LoggerFactory.getLogger(ModalListener.class);
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Support.java b/src/main/java/dev/vxrp/bot/events/modals/Support.java
index d26f3765..fe50d342 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Support.java
@@ -48,19 +48,19 @@ public static void createSupportTicket(ModalInteractionEvent event, Logger logge
List roleIDs = ScpTools.getConfigManager().getStringList(CONFIG.SUPPORT_SETTINGS.ROLES_ACCESS_SUPPORT_TICKETS);
for (String id : roleIDs) {
textChannel.upsertPermissionOverride(
- Objects.requireNonNull(guild.getRoleById(id)))
+ Objects.requireNonNull(guild.getRoleById(id)))
.grant(EnumSet.of(Permission.VIEW_CHANNEL, Permission.MESSAGE_SEND))
.queue();
}
textChannel.sendMessageEmbeds(StatsBuilder.buildStatus(userName).build()).queue();
textChannel.sendMessageEmbeds( builder(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_TITLE).replace("%name%", name),
- translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_BODY)
- .replace("%subject%", subject)
- .replace("%body%", body),
- translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_FOOTER)
- .replace("%date%", date)
- .replace("%time%", time),
- event.getGuild().getIconUrl(), event.getUser()).build())
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_BODY)
+ .replace("%subject%", subject)
+ .replace("%body%", body),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_FOOTER)
+ .replace("%date%", date)
+ .replace("%time%", time),
+ event.getGuild().getIconUrl(), event.getUser()).build())
.addActionRow(
Button.danger("close_support_ticket:"+userID+":", "Close Ticket"),
Button.primary("claim_support_ticket:"+userID+":", "Claim Ticket"),
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Unban.java b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
index f2ed8a58..9938fd0c 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
@@ -69,7 +69,7 @@ public static void createUnbanTicket(ModalInteractionEvent event, Logger logger)
.replace("%time%", time),
event.getGuild().getIconUrl(), event.getUser()).build())
.addActionRow(
- Button.success("accept_support_ticket:"+userID+":"+steamID+":", "Accept Ticket"),
+ Button.success("accept_unban_ticket:"+userID+":"+steamID+":", "Accept Ticket"),
Button.danger("dismiss_unban_ticket:"+userID+":"+steamID+":", "Dismiss Ticket"),
Button.secondary("settings_unban_ticket", "Settings")
).queue();
@@ -109,18 +109,20 @@ public static void dismissUnban(ModalInteractionEvent event) {
Objects.requireNonNull(Objects.requireNonNull(event.getGuild()).getTextChannelById(Objects.requireNonNull(event.getChannelId()))).deleteMessageById(messageID).queue();
- User bannedUser = Objects.requireNonNull(Objects.requireNonNull(event.getGuild()).getMemberById(event.getModalId().split(":")[1])).getUser();
String steamID = event.getModalId().split(":")[2];
String reason = Objects.requireNonNull(event.getValue("reason_action_reason")).getAsString();
- bannedUser.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
- StatsBuilder.buildDismissed(event.getUser().getGlobalName()).build(),
- new EmbedBuilder()
- .setDescription(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_DISMISSED)
- .replace("%steamID%", steamID)
- .replace("%reason%", reason))
- .build()
- )).queue();
+ event.getJDA().retrieveUserById(event.getModalId().split(":")[1]).queue(user -> {
+ user.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
+ StatsBuilder.buildDismissed(event.getUser().getGlobalName()).build(),
+ new EmbedBuilder()
+ .setDescription(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_DISMISSED)
+ .replace("%steamID%", steamID)
+ .replace("%reason%", reason))
+ .build()
+ )).queue();
+ });
+
event.reply(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_SENT)).setEphemeral(true).queue();
}
diff --git a/src/main/resources/configs/config.yml b/src/main/resources/configs/config.yml
index a5c3b06a..beae4149 100644
--- a/src/main/resources/configs/config.yml
+++ b/src/main/resources/configs/config.yml
@@ -14,7 +14,7 @@ rules:
pastebin: ""
embed_footer: "Official Server Ruleset"
-# Commands that are activated by default remove to deactivate, default ["help"]
+# Commands that are activated by default remove to deactivate, default ["help", "template"]]
commands: ["help", "template"]
# Command settings
# 'default_permissions' is pretty clear, find all permissions in this Javadoc https://docs.jda.wiki/net/dv8tion/jda/api/Permission.html.
@@ -27,8 +27,11 @@ command_settings:
description: "Command for pasting certain templates"
support_settings:
+ # Enter ROLEIDS of roles to automatically add to new tickets
roles_access_support_tickets: []
+ # Enter ROLEIDS of roles that should be able to interact with unban requests
roles_access_unban_tickets: []
+ # Which channel should unban requests be send to
unban_channel_id: ""
cedmod:
@@ -36,7 +39,7 @@ cedmod:
active: false
# Include https://
instance_url: ""
- # Exclude Bearer, just plain api key
+ # Exclude Bearer, put plain api key
api_key: ""
# This bot is only able to unban people that are on this banlist (feature for multi banlist bans coming in the future)
master_ban_list_id: ""
\ No newline at end of file
From 75d368fd74882001c0d2277efd691d09affc7083 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Fri, 18 Oct 2024 17:21:08 +0200
Subject: [PATCH 020/845] NEW CONTENT
---
.../java/dev/vxrp/bot/commands/CommandManager.java | 2 +-
.../noticeOfDeparture/NoticeOfDeparture.java | 2 +-
.../vxrp/bot/events/modals/NoticeOfDeparture.java | 13 +++++++++++++
3 files changed, 15 insertions(+), 2 deletions(-)
create mode 100644 src/main/java/dev/vxrp/bot/events/modals/NoticeOfDeparture.java
diff --git a/src/main/java/dev/vxrp/bot/commands/CommandManager.java b/src/main/java/dev/vxrp/bot/commands/CommandManager.java
index 8221ef2b..fd9a25b4 100644
--- a/src/main/java/dev/vxrp/bot/commands/CommandManager.java
+++ b/src/main/java/dev/vxrp/bot/commands/CommandManager.java
@@ -2,7 +2,7 @@
import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.util.CONFIG;
-import dev.vxrp.bot.util.PermissionListConverter;
+import dev.vxrp.bot.util.converter.PermissionListConverter;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions;
import net.dv8tion.jda.api.interactions.commands.OptionType;
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java b/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
index 0cb45424..7108841a 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
@@ -24,4 +24,4 @@ public static void pasteDeRegisterTemplate(SlashCommandInteractionEvent event) {
)
.queue();
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/dev/vxrp/bot/events/modals/NoticeOfDeparture.java b/src/main/java/dev/vxrp/bot/events/modals/NoticeOfDeparture.java
new file mode 100644
index 00000000..984cbec7
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/events/modals/NoticeOfDeparture.java
@@ -0,0 +1,13 @@
+package dev.vxrp.bot.events.modals;
+
+import dev.vxrp.bot.ScpTools;
+import dev.vxrp.bot.config.managers.TranslationManager;
+import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
+
+public class NoticeOfDeparture {
+ private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+
+ public static void createNewNoticeOfDeparture(ButtonInteractionEvent event) {
+
+ }
+}
\ No newline at end of file
From 2aa5be592431b1477754e605731e03bf3b071350 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Fri, 18 Oct 2024 20:58:32 +0200
Subject: [PATCH 021/845] Translations are now getting loaded in Hashsets
before usage
---
src/main/java/dev/vxrp/bot/ScpTools.java | 8 +
.../noticeOfDeparture/NoticeOfDeparture.java | 11 +-
.../commands/templates/support/Support.java | 15 +-
.../java/dev/vxrp/bot/config/util/CONFIG.java | 4 +
.../dev/vxrp/bot/events/ButtonListener.java | 2 -
.../dev/vxrp/bot/events/buttons/Support.java | 17 +-
.../dev/vxrp/bot/events/buttons/Unban.java | 33 +-
.../dev/vxrp/bot/events/modals/Support.java | 14 +-
.../dev/vxrp/bot/events/modals/Unban.java | 21 +-
.../configuration/LoadedConfigurations.java | 38 +++
.../translations/TranslationLoader.java | 55 +++
.../groups/NoticeOfDepartureGroup.java | 25 ++
.../translations/groups/SupportGroup.java | 312 ++++++++++++++++++
src/main/resources/configs/config.yml | 10 +-
.../resources/translations/translations.yml | 2 +
15 files changed, 506 insertions(+), 61 deletions(-)
create mode 100644 src/main/java/dev/vxrp/bot/util/configuration/LoadedConfigurations.java
create mode 100644 src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
create mode 100644 src/main/java/dev/vxrp/bot/util/configuration/translations/groups/NoticeOfDepartureGroup.java
create mode 100644 src/main/java/dev/vxrp/bot/util/configuration/translations/groups/SupportGroup.java
diff --git a/src/main/java/dev/vxrp/bot/ScpTools.java b/src/main/java/dev/vxrp/bot/ScpTools.java
index 8e455cdf..0026ff68 100644
--- a/src/main/java/dev/vxrp/bot/ScpTools.java
+++ b/src/main/java/dev/vxrp/bot/ScpTools.java
@@ -11,6 +11,7 @@
import dev.vxrp.bot.events.ModalListener;
import dev.vxrp.bot.util.colors.ColorTool;
import dev.vxrp.bot.util.Enums.DCColor;
+import dev.vxrp.bot.util.configuration.translations.TranslationLoader;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.entities.Activity;
@@ -41,6 +42,13 @@ public static void main(String[] args) {
translationManager = new TranslationManager();
colorConfigManager = new ColorConfigManager();
+ try {
+ new TranslationLoader();
+ logger.info("Loaded translations into memory");
+ } catch (Exception e) {
+ logger.error("Could not load translation to memory {}", e.getMessage());
+ }
+
Activity.ActivityType activityType = Activity.ActivityType.valueOf(configManager.getString(CONFIG.ACTIVITY_TYPE));
logger.info("ActivityType set to {}", ColorTool.apply(DCColor.RED, activityType.toString()));
String activityContent = configManager.getString(CONFIG.ACTIVITY_CONTENT);
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java b/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
index 7108841a..09d06c7e 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
@@ -1,8 +1,7 @@
package dev.vxrp.bot.commands.templates.noticeOfDeparture;
-import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.managers.TranslationManager;
-import dev.vxrp.bot.config.util.TRANSLATIONS;
+import dev.vxrp.bot.util.configuration.LoadedConfigurations;
+import dev.vxrp.bot.util.configuration.translations.groups.NoticeOfDepartureGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.interactions.components.buttons.Button;
@@ -10,13 +9,13 @@
import java.awt.*;
public class NoticeOfDeparture {
- private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+ private static final NoticeOfDepartureGroup translations = LoadedConfigurations.getNoticeOfDepartureMemoryLoad();
public static void pasteDeRegisterTemplate(SlashCommandInteractionEvent event) {
event.getChannel().sendMessageEmbeds(new EmbedBuilder()
.setColor(Color.decode("#5865F2"))
- .setTitle(translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_TITLE))
- .setDescription(translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_BODY))
+ .setTitle(translations.getFirst_title())
+ .setDescription(translations.getFirst_body())
.setColor(Color.DARK_GRAY)
.build())
.addActionRow(
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
index 03d157f3..3a905230 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
@@ -1,8 +1,7 @@
package dev.vxrp.bot.commands.templates.support;
-import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.managers.TranslationManager;
-import dev.vxrp.bot.config.util.TRANSLATIONS;
+import dev.vxrp.bot.util.configuration.LoadedConfigurations;
+import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
@@ -11,20 +10,20 @@
import java.awt.*;
public class Support {
- private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+ private static final SupportGroup translations = LoadedConfigurations.getSupportTranslationMemoryLoad();
public static void pasteSupportTemplate(SlashCommandInteractionEvent event) {
event.getChannel().sendMessageEmbeds(new EmbedBuilder()
.setColor(Color.decode("#5865F2"))
- .setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_TITLE))
- .setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_BODY))
+ .setTitle(translations.getFirst_title())
+ .setDescription(translations.getFirst_body())
.setColor(Color.DARK_GRAY)
.build())
.queue();
event.getChannel().sendMessageEmbeds(new EmbedBuilder()
.setColor(Color.decode("#5865F2"))
- .setTitle(translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_TITLE))
- .setDescription(translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_BODY))
+ .setTitle(translations.getSecond_title())
+ .setDescription(translations.getSecond_body())
.setColor(Color.DARK_GRAY)
.build())
.addActionRow(
diff --git a/src/main/java/dev/vxrp/bot/config/util/CONFIG.java b/src/main/java/dev/vxrp/bot/config/util/CONFIG.java
index 58389730..481a47f5 100644
--- a/src/main/java/dev/vxrp/bot/config/util/CONFIG.java
+++ b/src/main/java/dev/vxrp/bot/config/util/CONFIG.java
@@ -29,4 +29,8 @@ public static final class CEDMOD {
public static final String API_KEY = "cedmod.api_key";
public static final String MASTER_BAN_LIST_ID = "cedmod.master_ban_list_id";
}
+ public static final class NOTICE_OF_DEPARTURE {
+ public static final String DESCISION_CHANNEL_ID = "notice_of_departure.decision_channel_id";
+ public static final String NOTICE_CHANNEL_ID = "notice_of_departure.notice_channel_id";
+ }
}
diff --git a/src/main/java/dev/vxrp/bot/events/ButtonListener.java b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
index d4a74103..939e5220 100644
--- a/src/main/java/dev/vxrp/bot/events/ButtonListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
@@ -1,7 +1,5 @@
package dev.vxrp.bot.events;
-import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.events.buttons.Rules;
import dev.vxrp.bot.events.buttons.Support;
import dev.vxrp.bot.events.buttons.Unban;
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Support.java b/src/main/java/dev/vxrp/bot/events/buttons/Support.java
index bd72daf0..a545ab04 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Support.java
@@ -1,8 +1,7 @@
package dev.vxrp.bot.events.buttons;
-import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.managers.TranslationManager;
-import dev.vxrp.bot.config.util.TRANSLATIONS;
+import dev.vxrp.bot.util.configuration.LoadedConfigurations;
+import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
@@ -16,20 +15,20 @@
import java.util.List;
public class Support {
- private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+ private static final SupportGroup translations = LoadedConfigurations.getSupportTranslationMemoryLoad();
public static void createSupportTicket(ButtonInteractionEvent event) {
if (event.getComponentId().equals("createNewTicket")) {
event.replyModal(
- Modal.create("supportTicket", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_TITLE))
+ Modal.create("supportTicket", translations.getModal_support_title())
.addComponents(
ActionRow.of(shortModal(
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_FIRST_TITLE),
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_FIRST_PLACEHOLDER)
+ translations.getModal_support_first_title(),
+ translations.getModal_support_first_placeholder()
)),
ActionRow.of(paragraphModal(
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_SECOND_TITLE),
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_SECOND_PLACEHOLDER))))
+ translations.getModal_support_second_title(),
+ translations.getModal_support_second_placeholder())))
.build()).queue();
}
}
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Unban.java b/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
index f27a7bf1..442da2c1 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
@@ -1,8 +1,7 @@
package dev.vxrp.bot.events.buttons;
-import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.managers.TranslationManager;
-import dev.vxrp.bot.config.util.TRANSLATIONS;
+import dev.vxrp.bot.util.configuration.LoadedConfigurations;
+import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
import net.dv8tion.jda.api.interactions.components.ActionRow;
@@ -13,36 +12,36 @@
import java.util.Objects;
public class Unban {
- private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+ private static final SupportGroup translations = LoadedConfigurations.getSupportTranslationMemoryLoad();
public static void createUnbanTicket(ButtonInteractionEvent event) {
event.replyModal(
- Modal.create("unbanTicket", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_TITLE))
+ Modal.create("unbanTicket", translations.getModal_unban_title())
.addComponents(
ActionRow.of(shortModal(
"unban_steamID",
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_FIRST_TITLE),
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_FIRST_PLACEHOLDER),
+ translations.getModal_unban_first_title(),
+ translations.getModal_unban_first_placeholder(),
17, 17)),
ActionRow.of(shortModal(
"unban_ban_reason",
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_SECOND_TITLE),
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_SECOND_PLACEHOLDER),
+ translations.getModal_unban_second_title(),
+ translations.getModal_unban_second_placeholder(),
5, 100)),
ActionRow.of(paragraphModal(
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_THIRD_TITLE),
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_THIRD_PLACEHOLDER))))
+ translations.getModal_unban_third_title(),
+ translations.getModal_unban_third_placeholder())))
.build()).queue();
}
public static void dismissTicket(ButtonInteractionEvent event, User user) {
String steamID = Objects.requireNonNull(event.getButton().getId()).split(":")[2];
event.replyModal(
- Modal.create("reason_action_reason_dismiss:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_TITLE))
+ Modal.create("reason_action_reason_dismiss:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translations.getModal_reason_action_title())
.addComponents(ActionRow.of(shortModal(
"reason_action_reason",
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_FIRST_TITLE),
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_FIRST_PLACEHOLDER),
+ translations.getModal_reason_action_first_title(),
+ translations.getModal_reason_action_first_placeholder(),
10, 100
))).build()).queue();
}
@@ -50,11 +49,11 @@ public static void dismissTicket(ButtonInteractionEvent event, User user) {
public static void acceptTicket(ButtonInteractionEvent event, User user) {
String steamID = Objects.requireNonNull(event.getButton().getId()).split(":")[2];
event.replyModal(
- Modal.create("reason_action_unban_accept:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_TITLE))
+ Modal.create("reason_action_unban_accept:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translations.getModal_reason_action_title())
.addComponents(ActionRow.of(shortModal(
"reason_action_reason",
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_FIRST_TITLE),
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_FIRST_PLACEHOLDER),
+ translations.getModal_reason_action_first_title(),
+ translations.getModal_reason_action_first_placeholder(),
10, 100
))).build()).queue();
}
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Support.java b/src/main/java/dev/vxrp/bot/events/modals/Support.java
index fe50d342..5a995b84 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Support.java
@@ -1,12 +1,12 @@
package dev.vxrp.bot.events.modals;
import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.config.util.CONFIG;
-import dev.vxrp.bot.config.util.TRANSLATIONS;
import dev.vxrp.bot.util.Enums.DCColor;
import dev.vxrp.bot.util.builder.StatsBuilder;
import dev.vxrp.bot.util.colors.ColorTool;
+import dev.vxrp.bot.util.configuration.LoadedConfigurations;
+import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild;
@@ -21,7 +21,7 @@
import java.util.concurrent.ThreadLocalRandom;
public class Support {
- private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+ private static final SupportGroup translations = LoadedConfigurations.getSupportTranslationMemoryLoad();
public static void createSupportTicket(ModalInteractionEvent event, Logger logger) {
Member member = event.getMember();
@@ -42,7 +42,7 @@ public static void createSupportTicket(ModalInteractionEvent event, Logger logge
.addPermissionOverride(guild.getPublicRole(), null, EnumSet.of(Permission.VIEW_CHANNEL))
.setSlowmode(1)
.queue(textChannel -> {
- event.reply(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_CREATED)
+ event.reply(translations.getTicket_support_created()
.replace("%channel%", "<#"+textChannel.getId()+">")).setEphemeral(true).queue();
List roleIDs = ScpTools.getConfigManager().getStringList(CONFIG.SUPPORT_SETTINGS.ROLES_ACCESS_SUPPORT_TICKETS);
@@ -53,11 +53,11 @@ public static void createSupportTicket(ModalInteractionEvent event, Logger logge
.queue();
}
textChannel.sendMessageEmbeds(StatsBuilder.buildStatus(userName).build()).queue();
- textChannel.sendMessageEmbeds( builder(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_TITLE).replace("%name%", name),
- translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_BODY)
+ textChannel.sendMessageEmbeds(builder(translations.getTicket_support_title().replace("%name%", name),
+ translations.getTicket_support_body()
.replace("%subject%", subject)
.replace("%body%", body),
- translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_FOOTER)
+ translations.getTicket_support_footer()
.replace("%date%", date)
.replace("%time%", time),
event.getGuild().getIconUrl(), event.getUser()).build())
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Unban.java b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
index 9938fd0c..91b81d27 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
@@ -1,13 +1,14 @@
package dev.vxrp.bot.events.modals;
import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.managers.TranslationManager;
import dev.vxrp.bot.config.util.CONFIG;
import dev.vxrp.bot.config.util.TRANSLATIONS;
import dev.vxrp.bot.util.Enums.DCColor;
import dev.vxrp.bot.util.builder.StatsBuilder;
import dev.vxrp.bot.util.cedmod.CedModApi;
import dev.vxrp.bot.util.colors.ColorTool;
+import dev.vxrp.bot.util.configuration.LoadedConfigurations;
+import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild;
@@ -27,7 +28,7 @@
import java.util.concurrent.ThreadLocalRandom;
public class Unban {
- private static final TranslationManager translationManager = ScpTools.getTranslationManager();
+ private static final SupportGroup translations = LoadedConfigurations.getSupportTranslationMemoryLoad();
public static void createUnbanTicket(ModalInteractionEvent event, Logger logger) {
Member member = event.getMember();
@@ -47,7 +48,7 @@ public static void createUnbanTicket(ModalInteractionEvent event, Logger logger)
TextChannel textChannel = event.getGuild().getTextChannelById(ScpTools.getConfigManager().getString(CONFIG.SUPPORT_SETTINGS.UNBAN_CHANNEL_ID));
assert textChannel != null;
- event.reply(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_CREATED)
+ event.reply(translations.getTicket_unban_created()
.replace("%channel%", "<#"+textChannel.getId()+">")).setEphemeral(true).queue();
List roleIDs = ScpTools.getConfigManager().getStringList(CONFIG.SUPPORT_SETTINGS.ROLES_ACCESS_UNBAN_TICKETS);
@@ -59,12 +60,12 @@ public static void createUnbanTicket(ModalInteractionEvent event, Logger logger)
}
textChannel.sendMessageEmbeds(
StatsBuilder.buildStatus(userName).build(),
- builder(translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_TITLE).replace("%name%", name),
- translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_BODY)
+ builder(translations.getTicket_unban_title().replace("%name%", name),
+ translations.getTicket_unban_body()
.replace("%steamID%", steamID)
.replace("%reason%", reason)
.replace("%reasoning%", reasoning),
- translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_FOOTER)
+ translations.getTicket_unban_footer()
.replace("%date%", date)
.replace("%time%", time),
event.getGuild().getIconUrl(), event.getUser()).build())
@@ -94,7 +95,7 @@ public static void acceptUnban(ModalInteractionEvent event) throws IOException {
bannedUser.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
StatsBuilder.buildAccepted(bannedUser.getGlobalName()).build(),
new EmbedBuilder()
- .setDescription(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_ACCEPTED)
+ .setDescription(translations.getTicket_unban_message_accepted()
.replace("%steamID%", steamID)
.replace("%reason%", reason))
.build()
@@ -102,7 +103,7 @@ public static void acceptUnban(ModalInteractionEvent event) throws IOException {
CedModApi.executeUnban(instanceUrl, apiKey, banID, reason);
- event.reply(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_SENT)).setEphemeral(true).queue();
+ event.reply(translations.getTicket_unban_message_sent()).setEphemeral(true).queue();
}
public static void dismissUnban(ModalInteractionEvent event) {
String messageID = event.getModalId().split(":")[3];
@@ -116,7 +117,7 @@ public static void dismissUnban(ModalInteractionEvent event) {
user.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
StatsBuilder.buildDismissed(event.getUser().getGlobalName()).build(),
new EmbedBuilder()
- .setDescription(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_DISMISSED)
+ .setDescription(translations.getTicket_unban_message_dismissed()
.replace("%steamID%", steamID)
.replace("%reason%", reason))
.build()
@@ -124,7 +125,7 @@ public static void dismissUnban(ModalInteractionEvent event) {
});
- event.reply(ScpTools.getTranslationManager().getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_SENT)).setEphemeral(true).queue();
+ event.reply(translations.getTicket_unban_message_sent()).setEphemeral(true).queue();
}
private static EmbedBuilder builder(String title, String body, String footerText, String IconURL, User user) {
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/LoadedConfigurations.java b/src/main/java/dev/vxrp/bot/util/configuration/LoadedConfigurations.java
new file mode 100644
index 00000000..cee0cfca
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/util/configuration/LoadedConfigurations.java
@@ -0,0 +1,38 @@
+package dev.vxrp.bot.util.configuration;
+
+import dev.vxrp.bot.util.configuration.translations.groups.NoticeOfDepartureGroup;
+import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+
+import java.util.HashSet;
+import java.util.Iterator;
+
+public class LoadedConfigurations {
+ public static HashSet supportTranslationMemoryLoad = new HashSet<>();
+ public static HashSet noticeOfDepartureMemoryLoad = new HashSet<>();
+
+ public static SupportGroup getSupportTranslationMemoryLoad() {
+ Iterator iterator = supportTranslationMemoryLoad.iterator();
+ SupportGroup supportGroup = null;
+ while (iterator.hasNext()) {
+ supportGroup = iterator.next();
+ }
+ return supportGroup;
+ }
+
+ public static void setSupportTranslationMemoryLoad(SupportGroup supportMemoryLoad) {
+ LoadedConfigurations.supportTranslationMemoryLoad.add(supportMemoryLoad);
+ }
+
+ public static NoticeOfDepartureGroup getNoticeOfDepartureMemoryLoad() {
+ Iterator iterator = noticeOfDepartureMemoryLoad.iterator();
+ NoticeOfDepartureGroup noticeOfDepartureGroup = null;
+ while (iterator.hasNext()) {
+ noticeOfDepartureGroup = iterator.next();
+ }
+ return noticeOfDepartureGroup;
+ }
+
+ public static void setNoticeOfDepartureMemoryLoad(NoticeOfDepartureGroup noticeOfDepartureMemoryLoad) {
+ LoadedConfigurations.noticeOfDepartureMemoryLoad.add(noticeOfDepartureMemoryLoad);
+ }
+}
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java b/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
new file mode 100644
index 00000000..80677400
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
@@ -0,0 +1,55 @@
+package dev.vxrp.bot.util.configuration.translations;
+
+import dev.vxrp.bot.ScpTools;
+import dev.vxrp.bot.config.managers.TranslationManager;
+import dev.vxrp.bot.config.util.TRANSLATIONS;
+import dev.vxrp.bot.util.configuration.LoadedConfigurations;
+import dev.vxrp.bot.util.configuration.translations.groups.NoticeOfDepartureGroup;
+import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+
+public class TranslationLoader {
+ public TranslationLoader() {
+ TranslationManager translationManager = ScpTools.getTranslationManager();
+
+ SupportGroup supportGroup = new SupportGroup(
+ translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.FIRST_BODY),
+ translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_BODY),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_FIRST_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_SECOND_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_SECOND_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_SECOND_PLACEHOLDER),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_FIRST_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_FIRST_PLACEHOLDER),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_SECOND_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_SECOND_PLACEHOLDER),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_THIRD_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_THIRD_PLACEHOLDER),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_FIRST_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.REASON_ACTION_FIRST_PLACEHOLDER),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_BODY),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_FOOTER),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.SUPPORT_CREATED),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_BODY),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_FOOTER),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_CREATED),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_ACCEPTED),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_DISMISSED),
+ translationManager.getString(TRANSLATIONS.SUPPORT.TICKET.UNBAN_MESSAGE_SENT)
+ );
+
+ NoticeOfDepartureGroup noticeOfDepartureGroup = new NoticeOfDepartureGroup(
+ translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_TITLE),
+ translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_BODY)
+ );
+
+ LoadedConfigurations.setSupportTranslationMemoryLoad(supportGroup);
+ LoadedConfigurations.setNoticeOfDepartureMemoryLoad(noticeOfDepartureGroup);
+ }
+}
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/NoticeOfDepartureGroup.java b/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/NoticeOfDepartureGroup.java
new file mode 100644
index 00000000..7e824667
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/NoticeOfDepartureGroup.java
@@ -0,0 +1,25 @@
+package dev.vxrp.bot.util.configuration.translations.groups;
+
+public class NoticeOfDepartureGroup {
+ private String first_title;
+ private String first_body;
+
+ public NoticeOfDepartureGroup(String first_title, String first_body) {
+ this.first_title = first_title;
+ this.first_body = first_body;
+ }
+ public String getFirst_title() {
+ return first_title;
+ }
+ public String getFirst_body() {
+ return first_body;
+ }
+
+ public void setFirst_title(String first_title) {
+ this.first_title = first_title;
+ }
+
+ public void setFirst_body(String first_body) {
+ this.first_body = first_body;
+ }
+}
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/SupportGroup.java b/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/SupportGroup.java
new file mode 100644
index 00000000..7dbb2a04
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/SupportGroup.java
@@ -0,0 +1,312 @@
+package dev.vxrp.bot.util.configuration.translations.groups;
+
+public class SupportGroup {
+ private String first_title;
+ private String first_body;
+ private String second_title;
+ private String second_body;
+
+ private String modal_support_title;
+ private String modal_support_first_title;
+ private String modal_support_first_placeholder;
+ private String modal_support_second_title;
+ private String modal_support_second_placeholder;
+
+ private String modal_unban_title;
+ private String modal_unban_first_title;
+ private String modal_unban_first_placeholder;
+ private String modal_unban_second_title;
+ private String modal_unban_second_placeholder;
+ private String modal_unban_third_title;
+ private String modal_unban_third_placeholder;
+
+ private String modal_reason_action_title;
+ private String modal_reason_action_first_title;
+ private String modal_reason_action_first_placeholder;
+
+ private String ticket_support_title;
+ private String ticket_support_body;
+ private String ticket_support_footer;
+ private String ticket_support_created;
+
+ private String ticket_unban_title;
+ private String ticket_unban_body;
+ private String ticket_unban_footer;
+ private String ticket_unban_created;
+ private String ticket_unban_message_accepted;
+ private String ticket_unban_message_dismissed;
+ private String ticket_unban_message_sent;
+
+ public String getFirst_title() {
+ return first_title;
+ }
+
+ public void setFirst_title(String first_title) {
+ this.first_title = first_title;
+ }
+
+ public String getFirst_body() {
+ return first_body;
+ }
+
+ public void setFirst_body(String first_body) {
+ this.first_body = first_body;
+ }
+
+ public String getSecond_title() {
+ return second_title;
+ }
+
+ public void setSecond_title(String second_title) {
+ this.second_title = second_title;
+ }
+
+ public String getSecond_body() {
+ return second_body;
+ }
+
+ public void setSecond_body(String second_body) {
+ this.second_body = second_body;
+ }
+
+ public String getModal_support_title() {
+ return modal_support_title;
+ }
+
+ public void setModal_support_title(String modal_support_title) {
+ this.modal_support_title = modal_support_title;
+ }
+
+ public String getModal_support_first_title() {
+ return modal_support_first_title;
+ }
+
+ public void setModal_support_first_title(String modal_support_first_title) {
+ this.modal_support_first_title = modal_support_first_title;
+ }
+
+ public String getModal_support_first_placeholder() {
+ return modal_support_first_placeholder;
+ }
+
+ public void setModal_support_first_placeholder(String modal_support_first_placeholder) {
+ this.modal_support_first_placeholder = modal_support_first_placeholder;
+ }
+
+ public String getModal_support_second_title() {
+ return modal_support_second_title;
+ }
+
+ public void setModal_support_second_title(String modal_support_second_title) {
+ this.modal_support_second_title = modal_support_second_title;
+ }
+
+ public String getModal_support_second_placeholder() {
+ return modal_support_second_placeholder;
+ }
+
+ public void setModal_support_second_placeholder(String modal_support_second_placeholder) {
+ this.modal_support_second_placeholder = modal_support_second_placeholder;
+ }
+
+ public String getModal_unban_title() {
+ return modal_unban_title;
+ }
+
+ public void setModal_unban_title(String modal_unban_title) {
+ this.modal_unban_title = modal_unban_title;
+ }
+
+ public String getModal_unban_first_title() {
+ return modal_unban_first_title;
+ }
+
+ public void setModal_unban_first_title(String modal_unban_first_title) {
+ this.modal_unban_first_title = modal_unban_first_title;
+ }
+
+ public String getModal_unban_first_placeholder() {
+ return modal_unban_first_placeholder;
+ }
+
+ public void setModal_unban_first_placeholder(String modal_unban_first_placeholder) {
+ this.modal_unban_first_placeholder = modal_unban_first_placeholder;
+ }
+
+ public String getModal_unban_second_title() {
+ return modal_unban_second_title;
+ }
+
+ public void setModal_unban_second_title(String modal_unban_second_title) {
+ this.modal_unban_second_title = modal_unban_second_title;
+ }
+
+ public String getModal_unban_second_placeholder() {
+ return modal_unban_second_placeholder;
+ }
+
+ public void setModal_unban_second_placeholder(String modal_unban_second_placeholder) {
+ this.modal_unban_second_placeholder = modal_unban_second_placeholder;
+ }
+
+ public String getModal_unban_third_title() {
+ return modal_unban_third_title;
+ }
+
+ public void setModal_unban_third_title(String modal_unban_third_title) {
+ this.modal_unban_third_title = modal_unban_third_title;
+ }
+
+ public String getModal_unban_third_placeholder() {
+ return modal_unban_third_placeholder;
+ }
+
+ public void setModal_unban_third_placeholder(String modal_unban_third_placeholder) {
+ this.modal_unban_third_placeholder = modal_unban_third_placeholder;
+ }
+
+ public String getModal_reason_action_title() {
+ return modal_reason_action_title;
+ }
+
+ public void setModal_reason_action_title(String modal_reason_action_title) {
+ this.modal_reason_action_title = modal_reason_action_title;
+ }
+
+ public String getModal_reason_action_first_title() {
+ return modal_reason_action_first_title;
+ }
+
+ public void setModal_reason_action_first_title(String modal_reason_action_first_title) {
+ this.modal_reason_action_first_title = modal_reason_action_first_title;
+ }
+
+ public String getModal_reason_action_first_placeholder() {
+ return modal_reason_action_first_placeholder;
+ }
+
+ public void setModal_reason_action_first_placeholder(String modal_reason_action_first_placeholder) {
+ this.modal_reason_action_first_placeholder = modal_reason_action_first_placeholder;
+ }
+
+ public String getTicket_support_title() {
+ return ticket_support_title;
+ }
+
+ public void setTicket_support_title(String ticket_support_title) {
+ this.ticket_support_title = ticket_support_title;
+ }
+
+ public String getTicket_support_body() {
+ return ticket_support_body;
+ }
+
+ public void setTicket_support_body(String ticket_support_body) {
+ this.ticket_support_body = ticket_support_body;
+ }
+
+ public String getTicket_support_footer() {
+ return ticket_support_footer;
+ }
+
+ public void setTicket_support_footer(String ticket_support_footer) {
+ this.ticket_support_footer = ticket_support_footer;
+ }
+
+ public String getTicket_support_created() {
+ return ticket_support_created;
+ }
+
+ public void setTicket_support_created(String ticket_support_created) {
+ this.ticket_support_created = ticket_support_created;
+ }
+
+ public String getTicket_unban_title() {
+ return ticket_unban_title;
+ }
+
+ public void setTicket_unban_title(String ticket_unban_title) {
+ this.ticket_unban_title = ticket_unban_title;
+ }
+
+ public String getTicket_unban_body() {
+ return ticket_unban_body;
+ }
+
+ public void setTicket_unban_body(String ticket_unban_body) {
+ this.ticket_unban_body = ticket_unban_body;
+ }
+
+ public String getTicket_unban_footer() {
+ return ticket_unban_footer;
+ }
+
+ public void setTicket_unban_footer(String ticket_unban_footer) {
+ this.ticket_unban_footer = ticket_unban_footer;
+ }
+
+ public String getTicket_unban_created() {
+ return ticket_unban_created;
+ }
+
+ public void setTicket_unban_created(String ticket_unban_created) {
+ this.ticket_unban_created = ticket_unban_created;
+ }
+
+ public String getTicket_unban_message_accepted() {
+ return ticket_unban_message_accepted;
+ }
+
+ public void setTicket_unban_message_accepted(String ticket_unban_message_accepted) {
+ this.ticket_unban_message_accepted = ticket_unban_message_accepted;
+ }
+
+ public String getTicket_unban_message_dismissed() {
+ return ticket_unban_message_dismissed;
+ }
+
+ public void setTicket_unban_message_dismissed(String ticket_unban_message_dismissed) {
+ this.ticket_unban_message_dismissed = ticket_unban_message_dismissed;
+ }
+
+ public String getTicket_unban_message_sent() {
+ return ticket_unban_message_sent;
+ }
+
+ public void setTicket_unban_message_sent(String ticket_unban_message_sent) {
+ this.ticket_unban_message_sent = ticket_unban_message_sent;
+ }
+
+ public SupportGroup(String first_title, String first_body, String second_title, String second_body, String modal_support_title, String modal_support_first_title, String modal_support_first_placeholder, String modal_support_second_title, String modal_support_second_placeholder, String modal_unban_title, String modal_unban_first_title, String modal_unban_first_placeholder, String modal_unban_second_title, String modal_unban_second_placeholder, String modal_unban_third_title, String modal_unban_third_placeholder, String modal_reason_action_title, String modal_reason_action_first_title, String modal_reason_action_first_placeholder, String ticket_support_title, String ticket_support_body, String ticket_support_footer, String ticket_support_created, String ticket_unban_title, String ticket_unban_body, String ticket_unban_footer, String ticket_unban_created, String ticket_unban_message_accepted, String ticket_unban_message_dismissed, String ticket_unban_message_sent) {
+ this.first_title = first_title;
+ this.first_body = first_body;
+ this.second_title = second_title;
+ this.second_body = second_body;
+ this.modal_support_title = modal_support_title;
+ this.modal_support_first_title = modal_support_first_title;
+ this.modal_support_first_placeholder = modal_support_first_placeholder;
+ this.modal_support_second_title = modal_support_second_title;
+ this.modal_support_second_placeholder = modal_support_second_placeholder;
+ this.modal_unban_title = modal_unban_title;
+ this.modal_unban_first_title = modal_unban_first_title;
+ this.modal_unban_first_placeholder = modal_unban_first_placeholder;
+ this.modal_unban_second_title = modal_unban_second_title;
+ this.modal_unban_second_placeholder = modal_unban_second_placeholder;
+ this.modal_unban_third_title = modal_unban_third_title;
+ this.modal_unban_third_placeholder = modal_unban_third_placeholder;
+ this.modal_reason_action_title = modal_reason_action_title;
+ this.modal_reason_action_first_title = modal_reason_action_first_title;
+ this.modal_reason_action_first_placeholder = modal_reason_action_first_placeholder;
+ this.ticket_support_title = ticket_support_title;
+ this.ticket_support_body = ticket_support_body;
+ this.ticket_support_footer = ticket_support_footer;
+ this.ticket_support_created = ticket_support_created;
+ this.ticket_unban_title = ticket_unban_title;
+ this.ticket_unban_body = ticket_unban_body;
+ this.ticket_unban_footer = ticket_unban_footer;
+ this.ticket_unban_created = ticket_unban_created;
+ this.ticket_unban_message_accepted = ticket_unban_message_accepted;
+ this.ticket_unban_message_dismissed = ticket_unban_message_dismissed;
+ this.ticket_unban_message_sent = ticket_unban_message_sent;
+ }
+}
diff --git a/src/main/resources/configs/config.yml b/src/main/resources/configs/config.yml
index beae4149..083ed17b 100644
--- a/src/main/resources/configs/config.yml
+++ b/src/main/resources/configs/config.yml
@@ -29,11 +29,17 @@ command_settings:
support_settings:
# Enter ROLEIDS of roles to automatically add to new tickets
roles_access_support_tickets: []
- # Enter ROLEIDS of roles that should be able to interact with unban requests
+ # Enter ROLEIDS of roles that should be able to interact with unbanning requests
roles_access_unban_tickets: []
- # Which channel should unban requests be send to
+ # Which channel should unban requests be sent to
unban_channel_id: ""
+notice_of_departure:
+ # Which channel should the form be sent to be accepted by moderators?
+ decision_channel_id: ""
+ # Which channel should the departures be sent to?
+ notice_channel_id: ""
+
cedmod:
# Should Cedmod integration features be established or deactivated?
active: false
diff --git a/src/main/resources/translations/translations.yml b/src/main/resources/translations/translations.yml
index 187c3c7a..67c3071a 100644
--- a/src/main/resources/translations/translations.yml
+++ b/src/main/resources/translations/translations.yml
@@ -113,3 +113,5 @@ notice_of_departure:
Every timespan over 1 year will not be accepted and will be asked to leave the team
"
+
+ modal_
From 73d412b4deb2b0e602227e0f410f9418f80a4c89 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Fri, 18 Oct 2024 21:15:07 +0200
Subject: [PATCH 022/845] Turned NoticeOfDepartureGroup and SupportGroup to
record classes
---
src/main/java/dev/vxrp/bot/ScpTools.java | 2 +-
.../dev/vxrp/bot/commands/CommandManager.java | 2 +-
.../noticeOfDeparture/NoticeOfDeparture.java | 6 +-
.../templates/rules/RulesTemplateUnit.java | 2 +-
.../commands/templates/support/Support.java | 10 +-
.../dev/vxrp/bot/events/buttons/Support.java | 12 +-
.../dev/vxrp/bot/events/buttons/Unban.java | 28 +-
.../dev/vxrp/bot/events/modals/Support.java | 12 +-
.../dev/vxrp/bot/events/modals/Unban.java | 21 +-
.../configuration/LoadedConfigurations.java | 4 +-
.../groups/NoticeOfDepartureGroup.java | 4 +
.../configuration/groups/SupportGroup.java | 17 +
.../translations/TranslationLoader.java | 6 +-
.../groups/NoticeOfDepartureGroup.java | 25 --
.../translations/groups/SupportGroup.java | 312 ------------------
.../configuration}/util/CONFIG.java | 2 +-
.../configuration}/util/TRANSLATIONS.java | 2 +-
17 files changed, 75 insertions(+), 392 deletions(-)
create mode 100644 src/main/java/dev/vxrp/bot/util/configuration/groups/NoticeOfDepartureGroup.java
create mode 100644 src/main/java/dev/vxrp/bot/util/configuration/groups/SupportGroup.java
delete mode 100644 src/main/java/dev/vxrp/bot/util/configuration/translations/groups/NoticeOfDepartureGroup.java
delete mode 100644 src/main/java/dev/vxrp/bot/util/configuration/translations/groups/SupportGroup.java
rename src/main/java/dev/vxrp/bot/{config => util/configuration}/util/CONFIG.java (97%)
rename src/main/java/dev/vxrp/bot/{config => util/configuration}/util/TRANSLATIONS.java (98%)
diff --git a/src/main/java/dev/vxrp/bot/ScpTools.java b/src/main/java/dev/vxrp/bot/ScpTools.java
index 0026ff68..e84be458 100644
--- a/src/main/java/dev/vxrp/bot/ScpTools.java
+++ b/src/main/java/dev/vxrp/bot/ScpTools.java
@@ -6,7 +6,7 @@
import dev.vxrp.bot.commands.templates.TemplateCommand;
import dev.vxrp.bot.config.managers.ColorConfigManager;
import dev.vxrp.bot.config.managers.TranslationManager;
-import dev.vxrp.bot.config.util.CONFIG;
+import dev.vxrp.bot.util.configuration.util.CONFIG;
import dev.vxrp.bot.config.managers.ConfigManager;
import dev.vxrp.bot.events.ModalListener;
import dev.vxrp.bot.util.colors.ColorTool;
diff --git a/src/main/java/dev/vxrp/bot/commands/CommandManager.java b/src/main/java/dev/vxrp/bot/commands/CommandManager.java
index fd9a25b4..6e4d1c6d 100644
--- a/src/main/java/dev/vxrp/bot/commands/CommandManager.java
+++ b/src/main/java/dev/vxrp/bot/commands/CommandManager.java
@@ -1,7 +1,7 @@
package dev.vxrp.bot.commands;
import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.util.CONFIG;
+import dev.vxrp.bot.util.configuration.util.CONFIG;
import dev.vxrp.bot.util.converter.PermissionListConverter;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions;
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java b/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
index 09d06c7e..be2970de 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/noticeOfDeparture/NoticeOfDeparture.java
@@ -1,7 +1,7 @@
package dev.vxrp.bot.commands.templates.noticeOfDeparture;
import dev.vxrp.bot.util.configuration.LoadedConfigurations;
-import dev.vxrp.bot.util.configuration.translations.groups.NoticeOfDepartureGroup;
+import dev.vxrp.bot.util.configuration.groups.NoticeOfDepartureGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.interactions.components.buttons.Button;
@@ -14,8 +14,8 @@ public class NoticeOfDeparture {
public static void pasteDeRegisterTemplate(SlashCommandInteractionEvent event) {
event.getChannel().sendMessageEmbeds(new EmbedBuilder()
.setColor(Color.decode("#5865F2"))
- .setTitle(translations.getFirst_title())
- .setDescription(translations.getFirst_body())
+ .setTitle(translations.first_title())
+ .setDescription(translations.first_body())
.setColor(Color.DARK_GRAY)
.build())
.addActionRow(
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
index 86fd46d8..56b76b89 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/rules/RulesTemplateUnit.java
@@ -1,7 +1,7 @@
package dev.vxrp.bot.commands.templates.rules;
import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.util.CONFIG;
+import dev.vxrp.bot.util.configuration.util.CONFIG;
import dev.vxrp.bot.util.pastebin.PastebinUtil;
import dev.vxrp.bot.util.parser.CustomColorParser;
import net.dv8tion.jda.api.EmbedBuilder;
diff --git a/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
index 3a905230..cfdcfcc1 100644
--- a/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
+++ b/src/main/java/dev/vxrp/bot/commands/templates/support/Support.java
@@ -1,7 +1,7 @@
package dev.vxrp.bot.commands.templates.support;
import dev.vxrp.bot.util.configuration.LoadedConfigurations;
-import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+import dev.vxrp.bot.util.configuration.groups.SupportGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.emoji.Emoji;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
@@ -15,15 +15,15 @@ public class Support {
public static void pasteSupportTemplate(SlashCommandInteractionEvent event) {
event.getChannel().sendMessageEmbeds(new EmbedBuilder()
.setColor(Color.decode("#5865F2"))
- .setTitle(translations.getFirst_title())
- .setDescription(translations.getFirst_body())
+ .setTitle(translations.first_title())
+ .setDescription(translations.first_body())
.setColor(Color.DARK_GRAY)
.build())
.queue();
event.getChannel().sendMessageEmbeds(new EmbedBuilder()
.setColor(Color.decode("#5865F2"))
- .setTitle(translations.getSecond_title())
- .setDescription(translations.getSecond_body())
+ .setTitle(translations.second_title())
+ .setDescription(translations.second_body())
.setColor(Color.DARK_GRAY)
.build())
.addActionRow(
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Support.java b/src/main/java/dev/vxrp/bot/events/buttons/Support.java
index a545ab04..b30bad65 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Support.java
@@ -1,7 +1,7 @@
package dev.vxrp.bot.events.buttons;
import dev.vxrp.bot.util.configuration.LoadedConfigurations;
-import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+import dev.vxrp.bot.util.configuration.groups.SupportGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
@@ -20,15 +20,15 @@ public class Support {
public static void createSupportTicket(ButtonInteractionEvent event) {
if (event.getComponentId().equals("createNewTicket")) {
event.replyModal(
- Modal.create("supportTicket", translations.getModal_support_title())
+ Modal.create("supportTicket", translations.modal_support_title())
.addComponents(
ActionRow.of(shortModal(
- translations.getModal_support_first_title(),
- translations.getModal_support_first_placeholder()
+ translations.modal_support_first_title(),
+ translations.modal_support_first_placeholder()
)),
ActionRow.of(paragraphModal(
- translations.getModal_support_second_title(),
- translations.getModal_support_second_placeholder())))
+ translations.modal_support_second_title(),
+ translations.modal_support_second_placeholder())))
.build()).queue();
}
}
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/Unban.java b/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
index 442da2c1..45dde301 100644
--- a/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/buttons/Unban.java
@@ -1,7 +1,7 @@
package dev.vxrp.bot.events.buttons;
import dev.vxrp.bot.util.configuration.LoadedConfigurations;
-import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+import dev.vxrp.bot.util.configuration.groups.SupportGroup;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
import net.dv8tion.jda.api.interactions.components.ActionRow;
@@ -16,32 +16,32 @@ public class Unban {
public static void createUnbanTicket(ButtonInteractionEvent event) {
event.replyModal(
- Modal.create("unbanTicket", translations.getModal_unban_title())
+ Modal.create("unbanTicket", translations.modal_unban_title())
.addComponents(
ActionRow.of(shortModal(
"unban_steamID",
- translations.getModal_unban_first_title(),
- translations.getModal_unban_first_placeholder(),
+ translations.modal_unban_first_title(),
+ translations.modal_unban_first_placeholder(),
17, 17)),
ActionRow.of(shortModal(
"unban_ban_reason",
- translations.getModal_unban_second_title(),
- translations.getModal_unban_second_placeholder(),
+ translations.modal_unban_second_title(),
+ translations.modal_unban_second_placeholder(),
5, 100)),
ActionRow.of(paragraphModal(
- translations.getModal_unban_third_title(),
- translations.getModal_unban_third_placeholder())))
+ translations.modal_unban_third_title(),
+ translations.modal_unban_third_placeholder())))
.build()).queue();
}
public static void dismissTicket(ButtonInteractionEvent event, User user) {
String steamID = Objects.requireNonNull(event.getButton().getId()).split(":")[2];
event.replyModal(
- Modal.create("reason_action_reason_dismiss:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translations.getModal_reason_action_title())
+ Modal.create("reason_action_reason_dismiss:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translations.modal_reason_action_title())
.addComponents(ActionRow.of(shortModal(
"reason_action_reason",
- translations.getModal_reason_action_first_title(),
- translations.getModal_reason_action_first_placeholder(),
+ translations.modal_reason_action_first_title(),
+ translations.modal_reason_action_first_placeholder(),
10, 100
))).build()).queue();
}
@@ -49,11 +49,11 @@ public static void dismissTicket(ButtonInteractionEvent event, User user) {
public static void acceptTicket(ButtonInteractionEvent event, User user) {
String steamID = Objects.requireNonNull(event.getButton().getId()).split(":")[2];
event.replyModal(
- Modal.create("reason_action_unban_accept:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translations.getModal_reason_action_title())
+ Modal.create("reason_action_unban_accept:"+user.getId()+":"+steamID+":"+event.getMessageId()+":", translations.modal_reason_action_title())
.addComponents(ActionRow.of(shortModal(
"reason_action_reason",
- translations.getModal_reason_action_first_title(),
- translations.getModal_reason_action_first_placeholder(),
+ translations.modal_reason_action_first_title(),
+ translations.modal_reason_action_first_placeholder(),
10, 100
))).build()).queue();
}
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Support.java b/src/main/java/dev/vxrp/bot/events/modals/Support.java
index 5a995b84..e0db707f 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Support.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Support.java
@@ -1,12 +1,12 @@
package dev.vxrp.bot.events.modals;
import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.util.CONFIG;
+import dev.vxrp.bot.util.configuration.util.CONFIG;
import dev.vxrp.bot.util.Enums.DCColor;
import dev.vxrp.bot.util.builder.StatsBuilder;
import dev.vxrp.bot.util.colors.ColorTool;
import dev.vxrp.bot.util.configuration.LoadedConfigurations;
-import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+import dev.vxrp.bot.util.configuration.groups.SupportGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild;
@@ -42,7 +42,7 @@ public static void createSupportTicket(ModalInteractionEvent event, Logger logge
.addPermissionOverride(guild.getPublicRole(), null, EnumSet.of(Permission.VIEW_CHANNEL))
.setSlowmode(1)
.queue(textChannel -> {
- event.reply(translations.getTicket_support_created()
+ event.reply(translations.ticket_support_created()
.replace("%channel%", "<#"+textChannel.getId()+">")).setEphemeral(true).queue();
List roleIDs = ScpTools.getConfigManager().getStringList(CONFIG.SUPPORT_SETTINGS.ROLES_ACCESS_SUPPORT_TICKETS);
@@ -53,11 +53,11 @@ public static void createSupportTicket(ModalInteractionEvent event, Logger logge
.queue();
}
textChannel.sendMessageEmbeds(StatsBuilder.buildStatus(userName).build()).queue();
- textChannel.sendMessageEmbeds(builder(translations.getTicket_support_title().replace("%name%", name),
- translations.getTicket_support_body()
+ textChannel.sendMessageEmbeds(builder(translations.ticket_support_title().replace("%name%", name),
+ translations.ticket_support_body()
.replace("%subject%", subject)
.replace("%body%", body),
- translations.getTicket_support_footer()
+ translations.ticket_support_footer()
.replace("%date%", date)
.replace("%time%", time),
event.getGuild().getIconUrl(), event.getUser()).build())
diff --git a/src/main/java/dev/vxrp/bot/events/modals/Unban.java b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
index 91b81d27..25dcc541 100644
--- a/src/main/java/dev/vxrp/bot/events/modals/Unban.java
+++ b/src/main/java/dev/vxrp/bot/events/modals/Unban.java
@@ -1,14 +1,13 @@
package dev.vxrp.bot.events.modals;
import dev.vxrp.bot.ScpTools;
-import dev.vxrp.bot.config.util.CONFIG;
-import dev.vxrp.bot.config.util.TRANSLATIONS;
+import dev.vxrp.bot.util.configuration.util.CONFIG;
import dev.vxrp.bot.util.Enums.DCColor;
import dev.vxrp.bot.util.builder.StatsBuilder;
import dev.vxrp.bot.util.cedmod.CedModApi;
import dev.vxrp.bot.util.colors.ColorTool;
import dev.vxrp.bot.util.configuration.LoadedConfigurations;
-import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+import dev.vxrp.bot.util.configuration.groups.SupportGroup;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Guild;
@@ -48,7 +47,7 @@ public static void createUnbanTicket(ModalInteractionEvent event, Logger logger)
TextChannel textChannel = event.getGuild().getTextChannelById(ScpTools.getConfigManager().getString(CONFIG.SUPPORT_SETTINGS.UNBAN_CHANNEL_ID));
assert textChannel != null;
- event.reply(translations.getTicket_unban_created()
+ event.reply(translations.ticket_unban_created()
.replace("%channel%", "<#"+textChannel.getId()+">")).setEphemeral(true).queue();
List roleIDs = ScpTools.getConfigManager().getStringList(CONFIG.SUPPORT_SETTINGS.ROLES_ACCESS_UNBAN_TICKETS);
@@ -60,12 +59,12 @@ public static void createUnbanTicket(ModalInteractionEvent event, Logger logger)
}
textChannel.sendMessageEmbeds(
StatsBuilder.buildStatus(userName).build(),
- builder(translations.getTicket_unban_title().replace("%name%", name),
- translations.getTicket_unban_body()
+ builder(translations.ticket_unban_title().replace("%name%", name),
+ translations.ticket_unban_body()
.replace("%steamID%", steamID)
.replace("%reason%", reason)
.replace("%reasoning%", reasoning),
- translations.getTicket_unban_footer()
+ translations.ticket_unban_footer()
.replace("%date%", date)
.replace("%time%", time),
event.getGuild().getIconUrl(), event.getUser()).build())
@@ -95,7 +94,7 @@ public static void acceptUnban(ModalInteractionEvent event) throws IOException {
bannedUser.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
StatsBuilder.buildAccepted(bannedUser.getGlobalName()).build(),
new EmbedBuilder()
- .setDescription(translations.getTicket_unban_message_accepted()
+ .setDescription(translations.ticket_unban_message_accepted()
.replace("%steamID%", steamID)
.replace("%reason%", reason))
.build()
@@ -103,7 +102,7 @@ public static void acceptUnban(ModalInteractionEvent event) throws IOException {
CedModApi.executeUnban(instanceUrl, apiKey, banID, reason);
- event.reply(translations.getTicket_unban_message_sent()).setEphemeral(true).queue();
+ event.reply(translations.ticket_unban_message_sent()).setEphemeral(true).queue();
}
public static void dismissUnban(ModalInteractionEvent event) {
String messageID = event.getModalId().split(":")[3];
@@ -117,7 +116,7 @@ public static void dismissUnban(ModalInteractionEvent event) {
user.openPrivateChannel().flatMap(privateChannel -> privateChannel.sendMessageEmbeds(
StatsBuilder.buildDismissed(event.getUser().getGlobalName()).build(),
new EmbedBuilder()
- .setDescription(translations.getTicket_unban_message_dismissed()
+ .setDescription(translations.ticket_unban_message_dismissed()
.replace("%steamID%", steamID)
.replace("%reason%", reason))
.build()
@@ -125,7 +124,7 @@ public static void dismissUnban(ModalInteractionEvent event) {
});
- event.reply(translations.getTicket_unban_message_sent()).setEphemeral(true).queue();
+ event.reply(translations.ticket_unban_message_sent()).setEphemeral(true).queue();
}
private static EmbedBuilder builder(String title, String body, String footerText, String IconURL, User user) {
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/LoadedConfigurations.java b/src/main/java/dev/vxrp/bot/util/configuration/LoadedConfigurations.java
index cee0cfca..a21bbcd2 100644
--- a/src/main/java/dev/vxrp/bot/util/configuration/LoadedConfigurations.java
+++ b/src/main/java/dev/vxrp/bot/util/configuration/LoadedConfigurations.java
@@ -1,7 +1,7 @@
package dev.vxrp.bot.util.configuration;
-import dev.vxrp.bot.util.configuration.translations.groups.NoticeOfDepartureGroup;
-import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+import dev.vxrp.bot.util.configuration.groups.NoticeOfDepartureGroup;
+import dev.vxrp.bot.util.configuration.groups.SupportGroup;
import java.util.HashSet;
import java.util.Iterator;
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/groups/NoticeOfDepartureGroup.java b/src/main/java/dev/vxrp/bot/util/configuration/groups/NoticeOfDepartureGroup.java
new file mode 100644
index 00000000..28d3c201
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/util/configuration/groups/NoticeOfDepartureGroup.java
@@ -0,0 +1,4 @@
+package dev.vxrp.bot.util.configuration.groups;
+
+public record NoticeOfDepartureGroup(String first_title, String first_body) {
+}
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/groups/SupportGroup.java b/src/main/java/dev/vxrp/bot/util/configuration/groups/SupportGroup.java
new file mode 100644
index 00000000..b9cb0bdb
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/util/configuration/groups/SupportGroup.java
@@ -0,0 +1,17 @@
+package dev.vxrp.bot.util.configuration.groups;
+
+public record SupportGroup(String first_title, String first_body, String second_title, String second_body,
+ String modal_support_title, String modal_support_first_title,
+ String modal_support_first_placeholder, String modal_support_second_title,
+ String modal_support_second_placeholder, String modal_unban_title,
+ String modal_unban_first_title, String modal_unban_first_placeholder,
+ String modal_unban_second_title, String modal_unban_second_placeholder,
+ String modal_unban_third_title, String modal_unban_third_placeholder,
+ String modal_reason_action_title, String modal_reason_action_first_title,
+ String modal_reason_action_first_placeholder, String ticket_support_title,
+ String ticket_support_body, String ticket_support_footer, String ticket_support_created,
+ String ticket_unban_title, String ticket_unban_body, String ticket_unban_footer,
+ String ticket_unban_created, String ticket_unban_message_accepted,
+ String ticket_unban_message_dismissed, String ticket_unban_message_sent) {
+
+}
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java b/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
index 80677400..eb935f8e 100644
--- a/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
+++ b/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
@@ -2,10 +2,10 @@
import dev.vxrp.bot.ScpTools;
import dev.vxrp.bot.config.managers.TranslationManager;
-import dev.vxrp.bot.config.util.TRANSLATIONS;
+import dev.vxrp.bot.util.configuration.util.TRANSLATIONS;
import dev.vxrp.bot.util.configuration.LoadedConfigurations;
-import dev.vxrp.bot.util.configuration.translations.groups.NoticeOfDepartureGroup;
-import dev.vxrp.bot.util.configuration.translations.groups.SupportGroup;
+import dev.vxrp.bot.util.configuration.groups.NoticeOfDepartureGroup;
+import dev.vxrp.bot.util.configuration.groups.SupportGroup;
public class TranslationLoader {
public TranslationLoader() {
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/NoticeOfDepartureGroup.java b/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/NoticeOfDepartureGroup.java
deleted file mode 100644
index 7e824667..00000000
--- a/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/NoticeOfDepartureGroup.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package dev.vxrp.bot.util.configuration.translations.groups;
-
-public class NoticeOfDepartureGroup {
- private String first_title;
- private String first_body;
-
- public NoticeOfDepartureGroup(String first_title, String first_body) {
- this.first_title = first_title;
- this.first_body = first_body;
- }
- public String getFirst_title() {
- return first_title;
- }
- public String getFirst_body() {
- return first_body;
- }
-
- public void setFirst_title(String first_title) {
- this.first_title = first_title;
- }
-
- public void setFirst_body(String first_body) {
- this.first_body = first_body;
- }
-}
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/SupportGroup.java b/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/SupportGroup.java
deleted file mode 100644
index 7dbb2a04..00000000
--- a/src/main/java/dev/vxrp/bot/util/configuration/translations/groups/SupportGroup.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package dev.vxrp.bot.util.configuration.translations.groups;
-
-public class SupportGroup {
- private String first_title;
- private String first_body;
- private String second_title;
- private String second_body;
-
- private String modal_support_title;
- private String modal_support_first_title;
- private String modal_support_first_placeholder;
- private String modal_support_second_title;
- private String modal_support_second_placeholder;
-
- private String modal_unban_title;
- private String modal_unban_first_title;
- private String modal_unban_first_placeholder;
- private String modal_unban_second_title;
- private String modal_unban_second_placeholder;
- private String modal_unban_third_title;
- private String modal_unban_third_placeholder;
-
- private String modal_reason_action_title;
- private String modal_reason_action_first_title;
- private String modal_reason_action_first_placeholder;
-
- private String ticket_support_title;
- private String ticket_support_body;
- private String ticket_support_footer;
- private String ticket_support_created;
-
- private String ticket_unban_title;
- private String ticket_unban_body;
- private String ticket_unban_footer;
- private String ticket_unban_created;
- private String ticket_unban_message_accepted;
- private String ticket_unban_message_dismissed;
- private String ticket_unban_message_sent;
-
- public String getFirst_title() {
- return first_title;
- }
-
- public void setFirst_title(String first_title) {
- this.first_title = first_title;
- }
-
- public String getFirst_body() {
- return first_body;
- }
-
- public void setFirst_body(String first_body) {
- this.first_body = first_body;
- }
-
- public String getSecond_title() {
- return second_title;
- }
-
- public void setSecond_title(String second_title) {
- this.second_title = second_title;
- }
-
- public String getSecond_body() {
- return second_body;
- }
-
- public void setSecond_body(String second_body) {
- this.second_body = second_body;
- }
-
- public String getModal_support_title() {
- return modal_support_title;
- }
-
- public void setModal_support_title(String modal_support_title) {
- this.modal_support_title = modal_support_title;
- }
-
- public String getModal_support_first_title() {
- return modal_support_first_title;
- }
-
- public void setModal_support_first_title(String modal_support_first_title) {
- this.modal_support_first_title = modal_support_first_title;
- }
-
- public String getModal_support_first_placeholder() {
- return modal_support_first_placeholder;
- }
-
- public void setModal_support_first_placeholder(String modal_support_first_placeholder) {
- this.modal_support_first_placeholder = modal_support_first_placeholder;
- }
-
- public String getModal_support_second_title() {
- return modal_support_second_title;
- }
-
- public void setModal_support_second_title(String modal_support_second_title) {
- this.modal_support_second_title = modal_support_second_title;
- }
-
- public String getModal_support_second_placeholder() {
- return modal_support_second_placeholder;
- }
-
- public void setModal_support_second_placeholder(String modal_support_second_placeholder) {
- this.modal_support_second_placeholder = modal_support_second_placeholder;
- }
-
- public String getModal_unban_title() {
- return modal_unban_title;
- }
-
- public void setModal_unban_title(String modal_unban_title) {
- this.modal_unban_title = modal_unban_title;
- }
-
- public String getModal_unban_first_title() {
- return modal_unban_first_title;
- }
-
- public void setModal_unban_first_title(String modal_unban_first_title) {
- this.modal_unban_first_title = modal_unban_first_title;
- }
-
- public String getModal_unban_first_placeholder() {
- return modal_unban_first_placeholder;
- }
-
- public void setModal_unban_first_placeholder(String modal_unban_first_placeholder) {
- this.modal_unban_first_placeholder = modal_unban_first_placeholder;
- }
-
- public String getModal_unban_second_title() {
- return modal_unban_second_title;
- }
-
- public void setModal_unban_second_title(String modal_unban_second_title) {
- this.modal_unban_second_title = modal_unban_second_title;
- }
-
- public String getModal_unban_second_placeholder() {
- return modal_unban_second_placeholder;
- }
-
- public void setModal_unban_second_placeholder(String modal_unban_second_placeholder) {
- this.modal_unban_second_placeholder = modal_unban_second_placeholder;
- }
-
- public String getModal_unban_third_title() {
- return modal_unban_third_title;
- }
-
- public void setModal_unban_third_title(String modal_unban_third_title) {
- this.modal_unban_third_title = modal_unban_third_title;
- }
-
- public String getModal_unban_third_placeholder() {
- return modal_unban_third_placeholder;
- }
-
- public void setModal_unban_third_placeholder(String modal_unban_third_placeholder) {
- this.modal_unban_third_placeholder = modal_unban_third_placeholder;
- }
-
- public String getModal_reason_action_title() {
- return modal_reason_action_title;
- }
-
- public void setModal_reason_action_title(String modal_reason_action_title) {
- this.modal_reason_action_title = modal_reason_action_title;
- }
-
- public String getModal_reason_action_first_title() {
- return modal_reason_action_first_title;
- }
-
- public void setModal_reason_action_first_title(String modal_reason_action_first_title) {
- this.modal_reason_action_first_title = modal_reason_action_first_title;
- }
-
- public String getModal_reason_action_first_placeholder() {
- return modal_reason_action_first_placeholder;
- }
-
- public void setModal_reason_action_first_placeholder(String modal_reason_action_first_placeholder) {
- this.modal_reason_action_first_placeholder = modal_reason_action_first_placeholder;
- }
-
- public String getTicket_support_title() {
- return ticket_support_title;
- }
-
- public void setTicket_support_title(String ticket_support_title) {
- this.ticket_support_title = ticket_support_title;
- }
-
- public String getTicket_support_body() {
- return ticket_support_body;
- }
-
- public void setTicket_support_body(String ticket_support_body) {
- this.ticket_support_body = ticket_support_body;
- }
-
- public String getTicket_support_footer() {
- return ticket_support_footer;
- }
-
- public void setTicket_support_footer(String ticket_support_footer) {
- this.ticket_support_footer = ticket_support_footer;
- }
-
- public String getTicket_support_created() {
- return ticket_support_created;
- }
-
- public void setTicket_support_created(String ticket_support_created) {
- this.ticket_support_created = ticket_support_created;
- }
-
- public String getTicket_unban_title() {
- return ticket_unban_title;
- }
-
- public void setTicket_unban_title(String ticket_unban_title) {
- this.ticket_unban_title = ticket_unban_title;
- }
-
- public String getTicket_unban_body() {
- return ticket_unban_body;
- }
-
- public void setTicket_unban_body(String ticket_unban_body) {
- this.ticket_unban_body = ticket_unban_body;
- }
-
- public String getTicket_unban_footer() {
- return ticket_unban_footer;
- }
-
- public void setTicket_unban_footer(String ticket_unban_footer) {
- this.ticket_unban_footer = ticket_unban_footer;
- }
-
- public String getTicket_unban_created() {
- return ticket_unban_created;
- }
-
- public void setTicket_unban_created(String ticket_unban_created) {
- this.ticket_unban_created = ticket_unban_created;
- }
-
- public String getTicket_unban_message_accepted() {
- return ticket_unban_message_accepted;
- }
-
- public void setTicket_unban_message_accepted(String ticket_unban_message_accepted) {
- this.ticket_unban_message_accepted = ticket_unban_message_accepted;
- }
-
- public String getTicket_unban_message_dismissed() {
- return ticket_unban_message_dismissed;
- }
-
- public void setTicket_unban_message_dismissed(String ticket_unban_message_dismissed) {
- this.ticket_unban_message_dismissed = ticket_unban_message_dismissed;
- }
-
- public String getTicket_unban_message_sent() {
- return ticket_unban_message_sent;
- }
-
- public void setTicket_unban_message_sent(String ticket_unban_message_sent) {
- this.ticket_unban_message_sent = ticket_unban_message_sent;
- }
-
- public SupportGroup(String first_title, String first_body, String second_title, String second_body, String modal_support_title, String modal_support_first_title, String modal_support_first_placeholder, String modal_support_second_title, String modal_support_second_placeholder, String modal_unban_title, String modal_unban_first_title, String modal_unban_first_placeholder, String modal_unban_second_title, String modal_unban_second_placeholder, String modal_unban_third_title, String modal_unban_third_placeholder, String modal_reason_action_title, String modal_reason_action_first_title, String modal_reason_action_first_placeholder, String ticket_support_title, String ticket_support_body, String ticket_support_footer, String ticket_support_created, String ticket_unban_title, String ticket_unban_body, String ticket_unban_footer, String ticket_unban_created, String ticket_unban_message_accepted, String ticket_unban_message_dismissed, String ticket_unban_message_sent) {
- this.first_title = first_title;
- this.first_body = first_body;
- this.second_title = second_title;
- this.second_body = second_body;
- this.modal_support_title = modal_support_title;
- this.modal_support_first_title = modal_support_first_title;
- this.modal_support_first_placeholder = modal_support_first_placeholder;
- this.modal_support_second_title = modal_support_second_title;
- this.modal_support_second_placeholder = modal_support_second_placeholder;
- this.modal_unban_title = modal_unban_title;
- this.modal_unban_first_title = modal_unban_first_title;
- this.modal_unban_first_placeholder = modal_unban_first_placeholder;
- this.modal_unban_second_title = modal_unban_second_title;
- this.modal_unban_second_placeholder = modal_unban_second_placeholder;
- this.modal_unban_third_title = modal_unban_third_title;
- this.modal_unban_third_placeholder = modal_unban_third_placeholder;
- this.modal_reason_action_title = modal_reason_action_title;
- this.modal_reason_action_first_title = modal_reason_action_first_title;
- this.modal_reason_action_first_placeholder = modal_reason_action_first_placeholder;
- this.ticket_support_title = ticket_support_title;
- this.ticket_support_body = ticket_support_body;
- this.ticket_support_footer = ticket_support_footer;
- this.ticket_support_created = ticket_support_created;
- this.ticket_unban_title = ticket_unban_title;
- this.ticket_unban_body = ticket_unban_body;
- this.ticket_unban_footer = ticket_unban_footer;
- this.ticket_unban_created = ticket_unban_created;
- this.ticket_unban_message_accepted = ticket_unban_message_accepted;
- this.ticket_unban_message_dismissed = ticket_unban_message_dismissed;
- this.ticket_unban_message_sent = ticket_unban_message_sent;
- }
-}
diff --git a/src/main/java/dev/vxrp/bot/config/util/CONFIG.java b/src/main/java/dev/vxrp/bot/util/configuration/util/CONFIG.java
similarity index 97%
rename from src/main/java/dev/vxrp/bot/config/util/CONFIG.java
rename to src/main/java/dev/vxrp/bot/util/configuration/util/CONFIG.java
index 481a47f5..c5dbff3b 100644
--- a/src/main/java/dev/vxrp/bot/config/util/CONFIG.java
+++ b/src/main/java/dev/vxrp/bot/util/configuration/util/CONFIG.java
@@ -1,4 +1,4 @@
-package dev.vxrp.bot.config.util;
+package dev.vxrp.bot.util.configuration.util;
public class CONFIG {
public static final String ACTIVITY_TYPE = "activity_type";
diff --git a/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java b/src/main/java/dev/vxrp/bot/util/configuration/util/TRANSLATIONS.java
similarity index 98%
rename from src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java
rename to src/main/java/dev/vxrp/bot/util/configuration/util/TRANSLATIONS.java
index e52a73fb..5be56d2f 100644
--- a/src/main/java/dev/vxrp/bot/config/util/TRANSLATIONS.java
+++ b/src/main/java/dev/vxrp/bot/util/configuration/util/TRANSLATIONS.java
@@ -1,4 +1,4 @@
-package dev.vxrp.bot.config.util;
+package dev.vxrp.bot.util.configuration.util;
public class TRANSLATIONS {
public static final class SUPPORT {
From 88618c66efa4222b18c749423c079583c9d7e4a6 Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Sat, 19 Oct 2024 02:16:54 +0200
Subject: [PATCH 023/845] Fixed some issues with the translation loading and
included some more NoticeOfDeparture functions
---
.../dev/vxrp/bot/events/ButtonListener.java | 3 +-
.../bot/events/buttons/NoticeOfDeparture.java | 44 +++++++++++++++++++
.../groups/NoticeOfDepartureGroup.java | 3 +-
.../translations/TranslationLoader.java | 9 +++-
.../util/configuration/util/TRANSLATIONS.java | 8 ++++
.../resources/translations/translations.yml | 7 ++-
6 files changed, 69 insertions(+), 5 deletions(-)
create mode 100644 src/main/java/dev/vxrp/bot/events/buttons/NoticeOfDeparture.java
diff --git a/src/main/java/dev/vxrp/bot/events/ButtonListener.java b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
index 939e5220..41ac1360 100644
--- a/src/main/java/dev/vxrp/bot/events/ButtonListener.java
+++ b/src/main/java/dev/vxrp/bot/events/ButtonListener.java
@@ -1,5 +1,6 @@
package dev.vxrp.bot.events;
+import dev.vxrp.bot.events.buttons.NoticeOfDeparture;
import dev.vxrp.bot.events.buttons.Rules;
import dev.vxrp.bot.events.buttons.Support;
import dev.vxrp.bot.events.buttons.Unban;
@@ -59,7 +60,7 @@ public void onButtonInteraction(ButtonInteractionEvent event) {
//Notice of Departure
if (event.getComponentId().equals("file_nod")) {
-
+ NoticeOfDeparture.createNoticeOfDeparture(event);
}
}
}
diff --git a/src/main/java/dev/vxrp/bot/events/buttons/NoticeOfDeparture.java b/src/main/java/dev/vxrp/bot/events/buttons/NoticeOfDeparture.java
new file mode 100644
index 00000000..d0a40323
--- /dev/null
+++ b/src/main/java/dev/vxrp/bot/events/buttons/NoticeOfDeparture.java
@@ -0,0 +1,44 @@
+package dev.vxrp.bot.events.buttons;
+
+import dev.vxrp.bot.util.configuration.LoadedConfigurations;
+import dev.vxrp.bot.util.configuration.groups.NoticeOfDepartureGroup;
+import net.dv8tion.jda.api.events.interaction.component.ButtonInteractionEvent;
+import net.dv8tion.jda.api.interactions.components.ActionRow;
+import net.dv8tion.jda.api.interactions.components.text.TextInput;
+import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
+import net.dv8tion.jda.api.interactions.modals.Modal;
+
+public class NoticeOfDeparture {
+ private static final NoticeOfDepartureGroup translations = LoadedConfigurations.getNoticeOfDepartureMemoryLoad();
+
+ public static void createNoticeOfDeparture(ButtonInteractionEvent event) {
+ event.replyModal(
+ Modal.create("notice_of_departure", translations.modal_title())
+ .addComponents(
+ ActionRow.of(shortModal(
+ translations.modal_first_title(),
+ translations.modal_first_placeholder()
+ )),
+ ActionRow.of(paragraphModal(
+ translations.modal_second_title(),
+ translations.modal_second_placeholder()
+ )))
+ .build()).queue();
+ }
+
+ private static TextInput shortModal(String title, String placeholder) {
+ return TextInput.create("nod_timeframe", title, TextInputStyle.SHORT)
+ .setPlaceholder(placeholder)
+ .setRequired(true)
+ .setMinLength(10)
+ .setMaxLength(10)
+ .build();
+ }
+ private static TextInput paragraphModal(String title, String placeholder) {
+ return TextInput.create("nod_reason", title, TextInputStyle.PARAGRAPH)
+ .setPlaceholder(placeholder)
+ .setRequired(true)
+ .setMaxLength(1000)
+ .build();
+ }
+}
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/groups/NoticeOfDepartureGroup.java b/src/main/java/dev/vxrp/bot/util/configuration/groups/NoticeOfDepartureGroup.java
index 28d3c201..263a8438 100644
--- a/src/main/java/dev/vxrp/bot/util/configuration/groups/NoticeOfDepartureGroup.java
+++ b/src/main/java/dev/vxrp/bot/util/configuration/groups/NoticeOfDepartureGroup.java
@@ -1,4 +1,5 @@
package dev.vxrp.bot.util.configuration.groups;
-public record NoticeOfDepartureGroup(String first_title, String first_body) {
+public record NoticeOfDepartureGroup(String first_title, String first_body, String modal_title, String modal_first_title,
+ String modal_first_placeholder, String modal_second_title, String modal_second_placeholder) {
}
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java b/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
index eb935f8e..5bf1829a 100644
--- a/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
+++ b/src/main/java/dev/vxrp/bot/util/configuration/translations/TranslationLoader.java
@@ -18,7 +18,7 @@ public TranslationLoader() {
translationManager.getString(TRANSLATIONS.SUPPORT.SECOND_BODY),
translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_TITLE),
translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_FIRST_TITLE),
- translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_SECOND_TITLE),
+ translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_FIRST_PLACEHOLDER),
translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_SECOND_TITLE),
translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.SUPPORT_SECOND_PLACEHOLDER),
translationManager.getString(TRANSLATIONS.SUPPORT.MODAL.UNBAN_TITLE),
@@ -46,7 +46,12 @@ public TranslationLoader() {
NoticeOfDepartureGroup noticeOfDepartureGroup = new NoticeOfDepartureGroup(
translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_TITLE),
- translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_BODY)
+ translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.FIRST_BODY),
+ translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.MODAL.TILE),
+ translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.MODAL.FIRST_TITLE),
+ translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.MODAL.FIRST_PLACEHOLDER),
+ translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.MODAL.SECOND_TITLE),
+ translationManager.getString(TRANSLATIONS.NOTICE_OF_DEPARTURE.MODAL.SECOND_PLACEHOLDER)
);
LoadedConfigurations.setSupportTranslationMemoryLoad(supportGroup);
diff --git a/src/main/java/dev/vxrp/bot/util/configuration/util/TRANSLATIONS.java b/src/main/java/dev/vxrp/bot/util/configuration/util/TRANSLATIONS.java
index 5be56d2f..dbace15e 100644
--- a/src/main/java/dev/vxrp/bot/util/configuration/util/TRANSLATIONS.java
+++ b/src/main/java/dev/vxrp/bot/util/configuration/util/TRANSLATIONS.java
@@ -44,5 +44,13 @@ public static final class TICKET {
public static final class NOTICE_OF_DEPARTURE {
public static final String FIRST_TITLE = "notice_of_departure.first_title";
public static final String FIRST_BODY = "notice_of_departure.first_body";
+
+ public static final class MODAL {
+ public static final String TILE = "notice_of_departure.modal_title";
+ public static final String FIRST_TITLE = "notice_of_departure.modal_first_title";
+ public static final String FIRST_PLACEHOLDER = "notice_of_departure.modal_first_placeholder";
+ public static final String SECOND_TITLE = "notice_of_departure.modal_second_title";
+ public static final String SECOND_PLACEHOLDER = "notice_of_departure.modal_second_placeholder";
+ }
}
}
diff --git a/src/main/resources/translations/translations.yml b/src/main/resources/translations/translations.yml
index 67c3071a..27bc6fa4 100644
--- a/src/main/resources/translations/translations.yml
+++ b/src/main/resources/translations/translations.yml
@@ -1,4 +1,5 @@
# You can use any form of discord formatting in these translations
+# The bot will load the translations in memory on startup. To apply changes, restart the bot
#
# Support
@@ -114,4 +115,8 @@ notice_of_departure:
Every timespan over 1 year will not be accepted and will be asked to leave the team
"
- modal_
+ modal_title: "File Notice of Departure"
+ modal_first_title: "Away time?"
+ modal_first_placeholder: "How long will you be away **[dd.MM.yyyy]**"
+ modal_second_title: "Explanation"
+ modal_second_placeholder: "Why are you going to be away [exclude details]"
From 54e4b9ab92d52d728008b139bf3efbf11cc877fe Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Sun, 20 Oct 2024 13:53:21 +0200
Subject: [PATCH 024/845] Updated README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index 9aee8a89..237b9100 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,8 @@ ScpToolsBot is a discord bot application written in Java for Scp Secret Laborato
If you need any more information check out the [wiki](https://github.com/Vxrpenter/SCPToolsBot/wiki)
## Installation
+This bot application should be installed on a alltime running server with good internet connection to handle requests fast and be online all the time
+
1. Download the `.jar` file from the latest **STABLE** release
2. Install `JDK-17` or higher on your machine
3. Run the jar using `java -jar `
From 36da5488017e70e97b5db5fae2120f2e254f3d7e Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Mon, 21 Oct 2024 18:42:32 +0200
Subject: [PATCH 025/845] Update README.md
---
README.md | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 237b9100..d982512d 100644
--- a/README.md
+++ b/README.md
@@ -10,10 +10,19 @@
## What is ScpToolsBot
-ScpToolsBot is a discord bot application written in Java for Scp Secret Laboratory discord servers. It includes support functions, cedmod api syncing, community and even team management features
+ScpToolsBot is a discord bot application written in Java for Scp Secret Laboratory discord servers. It includes support functions, cedmod api syncing, community and team management features
If you need any more information check out the [wiki](https://github.com/Vxrpenter/SCPToolsBot/wiki)
+## Feature Overview
+Currently the bot comes with:
+- Support system with unban file
+- SL ruleparsing
+- Text translation for features
+- Configurable commands
+
+More coming soon, look [here](https://github.com/Vxrpenter/SCPToolsBot/wiki/Feature-Overview) for more complete overview
+
## Installation
This bot application should be installed on a alltime running server with good internet connection to handle requests fast and be online all the time
From 5d7d02230d21ba721e4cacbe34214fcf3f2303fa Mon Sep 17 00:00:00 2001
From: Vxrpenter <110356385+Vxrpenter@users.noreply.github.com>
Date: Tue, 22 Oct 2024 17:01:42 +0200
Subject: [PATCH 026/845] Reorganized main slightly
---
src/main/java/dev/vxrp/bot/ScpTools.java | 49 ++++++++++++++++++------
1 file changed, 38 insertions(+), 11 deletions(-)
diff --git a/src/main/java/dev/vxrp/bot/ScpTools.java b/src/main/java/dev/vxrp/bot/ScpTools.java
index e84be458..a0608c91 100644
--- a/src/main/java/dev/vxrp/bot/ScpTools.java
+++ b/src/main/java/dev/vxrp/bot/ScpTools.java
@@ -31,6 +31,28 @@ public class ScpTools {
public final static Logger logger = LoggerFactory.getLogger(ScpTools.class);
public static void main(String[] args) {
+ initializeConfigs();
+ loadConfigs();
+
+ Activity.ActivityType activityType = Activity.ActivityType.valueOf(configManager.getString(CONFIG.ACTIVITY_TYPE));
+ logger.info("ActivityType set to {}", ColorTool.apply(DCColor.RED, activityType.toString()));
+ String activityContent = configManager.getString(CONFIG.ACTIVITY_CONTENT);
+ logger.info("ActivityContent set to {}", ColorTool.apply(DCColor.RED, activityContent));
+
+ checkGuildID();
+ initializeBot(activityType, activityContent);
+ }
+
+ private static void loadConfigs() {
+ try {
+ new TranslationLoader();
+ logger.info("Loaded translations into memory");
+ } catch (Exception e) {
+ logger.error("Could not load translation to memory {}", e.getMessage());
+ }
+ }
+
+ private static void initializeConfigs() {
List