Compare commits

...
6 Commits
Author SHA1 Message Date
auto 81b53cd1f8 Update dependencies and build process
Upgraded multiple dependencies including Spring Boot, JDA, and Configurate to their latest versions. Updated Java toolchain to version 21. Added the Versions plugin for dependency version management. Modified Jenkins build process to use `shadowJar`.
2025-06-20 23:10:46 +02:00
auto 34f9559d10 Change join-time option type to INTEGER
Adjusted the option type for 'join-time' from NUMBER to INTEGER for clarity and accuracy. This ensures proper data representation and aligns with intended usage.
2024-08-26 20:25:04 +02:00
auto f2864ade8a Add UPSERT behavior to setJoinDate query
Modified the SQL query in the setJoinDate method to use "ON DUPLICATE KEY UPDATE" for updating the date if the userId already exists. This ensures that duplicate entries are handled correctly by updating the existing record rather than creating a new one.
2024-08-26 19:15:03 +02:00
auto cd356121b7 Update CommandStaffJoinDate descriptions
Improved the descriptions of the options for the CommandStaffJoinDate command. The "staff" and "join-time" options now have clearer descriptions, making their purposes more understandable for users.
2024-08-25 19:50:38 +02:00
auto 1f706b69b8 Refactor CommandStaffJoinDate initialization
Correctly initialize and return the CommandData object for cleaner code. This change ensures proper usage of the command data and handles the auto-complete interaction correctly.
2024-08-25 19:47:34 +02:00
auto 8f6d1137ae Remove autocomplete from command options
Disabled autocomplete for "staff" and "join-time" options in the CommandStaffJoinDate constructor. This change simplifies the command interface by eliminating unnecessary suggestions.
2024-08-25 19:45:58 +02:00
4 changed files with 28 additions and 22 deletions
Vendored
+2 -2
View File
@@ -3,7 +3,7 @@ pipeline {
stages { stages {
stage('Gradle') { stage('Gradle') {
steps { steps {
sh 'bash ./gradlew build' sh 'bash ./gradlew shadowJar'
} }
} }
stage('Archive') { stage('Archive') {
@@ -17,4 +17,4 @@ pipeline {
} }
} }
} }
} }
+17 -13
View File
@@ -1,9 +1,10 @@
plugins { plugins {
id("java") id("java")
id("com.github.johnrengelman.shadow") version "7.1.0" id("com.github.johnrengelman.shadow") version "8.1.1"
id("maven-publish") id("maven-publish")
id("org.springframework.boot") version("2.7.8") id("org.springframework.boot") version("3.5.3")
id("com.github.ben-manes.versions") version "0.52.0"
} }
group = "com.alttd" group = "com.alttd"
@@ -12,7 +13,7 @@ description = "Altitude Discord Bot."
java { java {
toolchain { toolchain {
languageVersion.set(JavaLanguageVersion.of(17)) languageVersion.set(JavaLanguageVersion.of(21))
} }
} }
@@ -59,23 +60,26 @@ tasks {
dependencies { dependencies {
// JDA // JDA
implementation("net.dv8tion:JDA:5.0.2") { implementation("net.dv8tion:JDA:5.6.1") {
exclude("opus-java") // exclude audio exclude("opus-java") // exclude audio
} }
// MySQL // MySQL
implementation("mysql:mysql-connector-java:8.0.33") implementation("mysql:mysql-connector-java:8.0.33")
// Configurate // Configurate
implementation("org.spongepowered:configurate-yaml:4.1.2") implementation("org.spongepowered:configurate-yaml:4.2.0")
// Excel // Excel
implementation("org.apache.poi:poi:5.2.0") implementation("org.apache.poi:poi:5.4.1")
implementation("org.apache.poi:poi-ooxml:5.2.0") implementation("org.apache.poi:poi-ooxml:5.4.1")
// Other stuff? // Other stuff?
compileOnly("org.projectlombok:lombok:1.18.30") compileOnly("org.projectlombok:lombok:1.18.38")
annotationProcessor("org.projectlombok:lombok:1.18.24") annotationProcessor("org.projectlombok:lombok:1.18.38")
implementation("com.alttd:AltitudeLogs:1.0") implementation("com.alttd:AltitudeLogs:1.0")
implementation("org.springframework.boot:spring-boot-starter-web:3.2.1") implementation("org.springframework.boot:spring-boot-starter-web:3.5.3")
implementation("org.springframework.boot:spring-boot-starter-validation:3.2.1") implementation("org.springframework.boot:spring-boot-starter-validation:3.5.3")
implementation("com.google.code.gson:gson:2.8.9") implementation("com.google.code.gson:gson:2.13.1")
}
testImplementation(platform("org.junit:junit-bom:5.13.1"))
testImplementation("org.junit.jupiter:junit-jupiter")
}
@@ -8,7 +8,6 @@ import com.alttd.util.Util;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.IMentionable;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.entities.MessageEmbed;
import net.dv8tion.jda.api.events.interaction.command.CommandAutoCompleteInteractionEvent; import net.dv8tion.jda.api.events.interaction.command.CommandAutoCompleteInteractionEvent;
@@ -27,10 +26,12 @@ import java.util.stream.Collectors;
public class CommandStaffJoinDate extends DiscordCommand { public class CommandStaffJoinDate extends DiscordCommand {
private final CommandData commandData;
public CommandStaffJoinDate(JDA jda, CommandManager commandManager) { public CommandStaffJoinDate(JDA jda, CommandManager commandManager) {
CommandData commandData = Commands.slash(getName(), "View join date for staff members, or add them manually") this.commandData = Commands.slash(getName(), "View join date for staff members, or add them manually")
.addOption(OptionType.MENTIONABLE, "staff", "Set the soft lock \"on\" or \"off\"", false, true) .addOption(OptionType.MENTIONABLE, "staff", "The staff member to set/check the join date for", false, false)
.addOption(OptionType.NUMBER, "join-time", "Channel to change soft lock state for", false, true) .addOption(OptionType.INTEGER, "join-time", "The join date to set", false, false)
.setDefaultPermissions(DefaultMemberPermissions.enabledFor(Permission.ADMINISTRATOR)) .setDefaultPermissions(DefaultMemberPermissions.enabledFor(Permission.ADMINISTRATOR))
.setGuildOnly(true); .setGuildOnly(true);
@@ -53,6 +54,7 @@ public class CommandStaffJoinDate extends DiscordCommand {
interactionHook.editOriginalEmbeds(getFullStaffEmbed()).queue(); interactionHook.editOriginalEmbeds(getFullStaffEmbed()).queue();
return; return;
} }
Member member = staff.getAsMember(); Member member = staff.getAsMember();
if (member == null) { if (member == null) {
interactionHook.editOriginalEmbeds(Util.genericErrorEmbed("Invalid member", String.format("%s is not a valid member", staff.getAsMentionable().getAsMention()))).queue(); interactionHook.editOriginalEmbeds(Util.genericErrorEmbed("Invalid member", String.format("%s is not a valid member", staff.getAsMentionable().getAsMention()))).queue();
@@ -104,7 +106,7 @@ public class CommandStaffJoinDate extends DiscordCommand {
@Override @Override
public void suggest(CommandAutoCompleteInteractionEvent event) { public void suggest(CommandAutoCompleteInteractionEvent event) {
event.replyChoiceStrings(List.of()).queue();
} }
@Override @Override
@@ -114,6 +116,6 @@ public class CommandStaffJoinDate extends DiscordCommand {
@Override @Override
public CommandData getCommandData() { public CommandData getCommandData() {
return null; return commandData;
} }
} }
@@ -34,7 +34,7 @@ public class QueriesStaffJoinDate {
} }
public static void setJoinDate(long userId, Instant date) { public static void setJoinDate(long userId, Instant date) {
String sql = "INSERT INTO staff_join_date (user_id, date) VALUES (?, ?)"; String sql = "INSERT INTO staff_join_date (user_id, date) VALUES (?, ?) ON DUPLICATE KEY UPDATE date = VALUES(date)";
try (PreparedStatement preparedStatement = Database.getDatabase().getConnection().prepareStatement(sql)) { try (PreparedStatement preparedStatement = Database.getDatabase().getConnection().prepareStatement(sql)) {
preparedStatement.setLong(1, userId); preparedStatement.setLong(1, userId);