Skip to content

Commit aac69cd

Browse files
authored
Merge pull request #521 from danthe1st/update-deps
update dependencies
2 parents 587f89b + d039c89 commit aac69cd

File tree

74 files changed

+346
-355
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+346
-355
lines changed

build.gradle.kts

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@ import com.github.jengelman.gradle.plugins.shadow.transformers.*
44
plugins {
55
java
66
id("com.github.johnrengelman.shadow") version "8.1.1"
7-
id("org.springframework.boot") version "3.5.0"
7+
id("org.springframework.boot") version "4.0.1"
88
id("io.spring.dependency-management") version "1.1.7"
9-
id("org.graalvm.buildtools.native") version "0.10.6"
9+
id("org.graalvm.buildtools.native") version "0.11.3"
1010
checkstyle
1111
}
1212

1313
java {
14-
sourceCompatibility = JavaVersion.VERSION_25
15-
targetCompatibility = JavaVersion.VERSION_25
14+
toolchain {
15+
languageVersion = JavaLanguageVersion.of(25)
16+
}
1617
}
1718

1819
group = "net.discordjug"
@@ -27,22 +28,24 @@ repositories {
2728
dependencies {
2829
testImplementation("org.junit.jupiter:junit-jupiter-api")
2930
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
31+
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
3032
compileOnly("com.google.code.findbugs:jsr305:3.0.2")
3133
compileOnly("org.jetbrains:annotations:26.0.2")
3234

3335
// DIH4JDA (Command Framework) & JDA
34-
implementation("com.github.DynxstyGIT:DIH4JDA:a64b5a9dc5")
35-
implementation("net.dv8tion:JDA:5.5.1") {
36+
implementation("com.github.jasonlessenich:DIH4JDA:1.7.0")
37+
//implementation("xyz.dynxsty:dih4jda:1.7.0")
38+
implementation("net.dv8tion:JDA:6.2.0") {
3639
exclude(module = "opus-java")
3740
}
3841

3942
// Caffeine (Caching Library)
40-
implementation("com.github.ben-manes.caffeine:caffeine:3.2.0")
43+
implementation("com.github.ben-manes.caffeine:caffeine:3.2.2")
4144

4245
implementation("com.google.code.gson:gson:2.13.1")
4346
implementation("org.yaml:snakeyaml:2.4")
4447
implementation("com.google.re2j:re2j:1.8")
45-
implementation("commons-validator:commons-validator:1.9.0")
48+
implementation("commons-validator:commons-validator:1.10.0")
4649

4750
implementation("com.mashape.unirest:unirest-java:1.4.9")
4851

@@ -60,20 +63,16 @@ dependencies {
6063
testAnnotationProcessor("org.projectlombok:lombok:1.18.38")
6164

6265
// Sentry
63-
implementation("io.sentry:sentry:8.13.2")
66+
implementation("io.sentry:sentry:8.20.0")
6467

6568
// Spring
66-
implementation("org.springframework.boot:spring-boot-starter-web")
69+
implementation("org.springframework.boot:spring-boot-starter-webmvc")
6770
implementation("org.springframework.boot:spring-boot-starter-data-jdbc")
6871

6972
//required for registering native hints
7073
implementation("org.jetbrains.kotlin:kotlin-reflect")
71-
}
72-
73-
configurations {
74-
all {
75-
exclude(group = "commons-logging", module = "commons-logging")
76-
}
74+
75+
implementation("org.slf4j:jcl-over-slf4j")
7776
}
7877

7978
tasks.withType<Jar> {

src/main/java/net/discordjug/javabot/RuntimeHintsConfiguration.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package net.discordjug.javabot;
22

3-
import java.nio.channels.Channel;
4-
53
import club.minnced.discord.webhook.send.WebhookEmbed;
64
import com.zaxxer.hikari.HikariConfig;
75
import net.discordjug.javabot.data.config.BotConfig;
@@ -16,19 +14,8 @@
1614
import net.discordjug.javabot.data.config.guild.QOTWConfig;
1715
import net.discordjug.javabot.data.config.guild.ServerLockConfig;
1816
import net.discordjug.javabot.data.config.guild.StarboardConfig;
19-
import net.dv8tion.jda.api.entities.Guild;
20-
import net.dv8tion.jda.api.entities.Member;
21-
import net.dv8tion.jda.api.entities.Role;
22-
import net.dv8tion.jda.api.entities.ScheduledEvent;
23-
import net.dv8tion.jda.api.entities.ThreadMember;
24-
import net.dv8tion.jda.api.entities.User;
25-
import net.dv8tion.jda.api.entities.channel.forums.ForumTag;
26-
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
27-
import net.dv8tion.jda.api.entities.sticker.GuildSticker;
2817
import net.dv8tion.jda.api.hooks.ListenerAdapter;
29-
import net.dv8tion.jda.api.managers.AudioManager;
3018
import net.dv8tion.jda.internal.entities.GuildVoiceStateImpl;
31-
import net.dv8tion.jda.internal.entities.MemberPresenceImpl;
3219
import net.dv8tion.jda.internal.requests.restaction.PermOverrideData;
3320
import org.h2.server.TcpServer;
3421
import org.springframework.aot.hint.MemberCategory;
@@ -49,8 +36,6 @@
4936
BotConfig.class, GuildConfig.class, GuildConfigItem.class, SystemsConfig.class, ApiConfig.class,
5037
HelpConfig.class, MessageCacheConfig.class, MetricsConfig.class, ModerationConfig.class, QOTWConfig.class, ServerLockConfig.class, StarboardConfig.class,
5138

52-
//ensure JDA can create necessary caches
53-
User[].class, Guild[].class, Member[].class, Role[].class, Channel[].class, AudioManager[].class, ScheduledEvent[].class, ThreadMember[].class, ForumTag[].class, RichCustomEmoji[].class, GuildSticker[].class, MemberPresenceImpl[].class,
5439
//needs to be serialized for channel managers etc
5540
PermOverrideData.class,
5641

@@ -78,7 +63,7 @@ public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
7863
hints.reflection().registerTypeIfPresent(getClass().getClassLoader(), "com.github.benmanes.caffeine.cache.SSW", MemberCategory.INVOKE_DECLARED_METHODS, MemberCategory.INVOKE_DECLARED_CONSTRUCTORS);
7964

8065
for (Class<?> cl : WebhookEmbed.class.getClasses()) {
81-
hints.reflection().registerType(cl, MemberCategory.DECLARED_FIELDS, MemberCategory.INVOKE_PUBLIC_METHODS);
66+
hints.reflection().registerType(cl, MemberCategory.ACCESS_DECLARED_FIELDS, MemberCategory.INVOKE_PUBLIC_METHODS);
8267
}
8368

8469
hints.reflection().registerType(GuildVoiceStateImpl[].class, MemberCategory.UNSAFE_ALLOCATED);

src/main/java/net/discordjug/javabot/api/TomcatConfig.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

src/main/java/net/discordjug/javabot/data/h2db/commands/DbAdminCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import xyz.dynxsty.dih4jda.interactions.commands.application.SlashCommand;
55
import net.discordjug.javabot.data.config.BotConfig;
66
import net.dv8tion.jda.api.Permission;
7+
import net.dv8tion.jda.api.interactions.InteractionContextType;
78
import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions;
89
import net.dv8tion.jda.api.interactions.commands.build.Commands;
910
import net.dv8tion.jda.api.interactions.commands.build.SubcommandGroupData;
@@ -27,7 +28,7 @@ public DbAdminCommand(BotConfig botConfig, ExportSchemaSubcommand exportSchemaSu
2728
setRegistrationType(RegistrationType.GUILD);
2829
setCommandData(Commands.slash("db-admin", "(ADMIN ONLY) Administrative Commands for managing the bot's database.")
2930
.setDefaultPermissions(DefaultMemberPermissions.enabledFor(Permission.MANAGE_SERVER))
30-
.setGuildOnly(true)
31+
.setContexts(InteractionContextType.GUILD)
3132
);
3233
addSubcommands(exportSchemaSubcommand, exportTableSubcommand, migrationsListSubcommand, migrateSubcommand, quickMigrateSubcommand);
3334
addSubcommandGroups(SubcommandGroup.of(

src/main/java/net/discordjug/javabot/data/h2db/commands/QuickMigrateSubcommand.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package net.discordjug.javabot.data.h2db.commands;
22

3+
import net.dv8tion.jda.api.modals.Modal;
34
import xyz.dynxsty.dih4jda.interactions.commands.application.SlashCommand;
45
import xyz.dynxsty.dih4jda.interactions.components.ModalHandler;
56
import net.discordjug.javabot.annotations.AutoDetectableComponentHandler;
67
import net.discordjug.javabot.data.config.SystemsConfig;
78
import net.discordjug.javabot.util.ExceptionLogger;
89
import net.discordjug.javabot.util.Responses;
910
import net.dv8tion.jda.api.Permission;
11+
import net.dv8tion.jda.api.components.label.Label;
12+
import net.dv8tion.jda.api.components.textinput.TextInput;
13+
import net.dv8tion.jda.api.components.textinput.TextInputStyle;
1014
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
1115
import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent;
1216
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
1317
import net.dv8tion.jda.api.interactions.commands.build.SubcommandData;
14-
import net.dv8tion.jda.api.interactions.components.ActionRow;
15-
import net.dv8tion.jda.api.interactions.modals.Modal;
16-
import net.dv8tion.jda.api.interactions.components.text.TextInput;
17-
import net.dv8tion.jda.api.interactions.components.text.TextInputStyle;
1818
import net.dv8tion.jda.api.interactions.modals.ModalMapping;
1919

2020
import org.jetbrains.annotations.NotNull;
@@ -105,7 +105,7 @@ public void handleModal(@NotNull ModalInteractionEvent event, List<ModalMapping>
105105
}
106106

107107
private @NotNull Modal buildQuickMigrateModal() {
108-
TextInput sqlInput = TextInput.create("sql", "SQL-Statement (H2)", TextInputStyle.PARAGRAPH)
108+
TextInput sqlInput = TextInput.create("sql", TextInputStyle.PARAGRAPH)
109109
.setPlaceholder("""
110110
CREATE TABLE my_table (
111111
thread_id BIGINT PRIMARY KEY,
@@ -114,12 +114,12 @@ CREATE TABLE my_table (
114114
""")
115115
.setRequired(true)
116116
.build();
117-
TextInput confirmInput = TextInput.create("confirmation", "Confirmation", TextInputStyle.SHORT)
117+
TextInput confirmInput = TextInput.create("confirmation", TextInputStyle.SHORT)
118118
.setPlaceholder("Type 'CONFIRM' to confirm this action")
119119
.setRequired(true)
120120
.build();
121121
return Modal.create("quick-migrate", "Quick Migrate")
122-
.addComponents(ActionRow.of(sqlInput), ActionRow.of(confirmInput))
122+
.addComponents(Label.of("SQL-Statement (H2)", sqlInput), Label.of("Confirmation", confirmInput))
123123
.build();
124124
}
125125
}

src/main/java/net/discordjug/javabot/data/h2db/message_cache/MessageCache.java

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
package net.discordjug.javabot.data.h2db.message_cache;
22

3+
import lombok.Getter;
4+
import lombok.extern.slf4j.Slf4j;
5+
import net.discordjug.javabot.data.config.BotConfig;
6+
import net.discordjug.javabot.data.config.guild.MessageCacheConfig;
7+
import net.discordjug.javabot.data.h2db.message_cache.dao.MessageCacheRepository;
8+
import net.discordjug.javabot.data.h2db.message_cache.model.CachedMessage;
9+
import net.discordjug.javabot.systems.user_commands.IdCalculatorCommand;
10+
import net.discordjug.javabot.util.ExceptionLogger;
11+
import net.discordjug.javabot.util.Responses;
12+
import net.discordjug.javabot.util.TimeUtils;
13+
import net.discordjug.javabot.util.UserUtils;
14+
import net.dv8tion.jda.api.EmbedBuilder;
15+
import net.dv8tion.jda.api.components.actionrow.ActionRow;
16+
import net.dv8tion.jda.api.components.buttons.Button;
17+
import net.dv8tion.jda.api.entities.*;
18+
import net.dv8tion.jda.api.entities.Message.Attachment;
19+
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
20+
import net.dv8tion.jda.api.requests.restaction.MessageCreateAction;
21+
import net.dv8tion.jda.api.utils.FileUpload;
22+
323
import java.io.ByteArrayInputStream;
424
import java.io.InputStream;
525
import java.net.URI;
@@ -21,29 +41,6 @@
2141
import org.springframework.dao.DataAccessException;
2242
import org.springframework.stereotype.Service;
2343

24-
import lombok.Getter;
25-
import lombok.extern.slf4j.Slf4j;
26-
import net.discordjug.javabot.data.config.BotConfig;
27-
import net.discordjug.javabot.data.config.guild.MessageCacheConfig;
28-
import net.discordjug.javabot.data.h2db.message_cache.dao.MessageCacheRepository;
29-
import net.discordjug.javabot.data.h2db.message_cache.model.CachedMessage;
30-
import net.discordjug.javabot.systems.user_commands.IdCalculatorCommand;
31-
import net.discordjug.javabot.util.ExceptionLogger;
32-
import net.discordjug.javabot.util.Responses;
33-
import net.discordjug.javabot.util.TimeUtils;
34-
import net.discordjug.javabot.util.UserUtils;
35-
import net.dv8tion.jda.api.EmbedBuilder;
36-
import net.dv8tion.jda.api.entities.Guild;
37-
import net.dv8tion.jda.api.entities.Message;
38-
import net.dv8tion.jda.api.entities.Message.Attachment;
39-
import net.dv8tion.jda.api.entities.MessageEmbed;
40-
import net.dv8tion.jda.api.entities.User;
41-
import net.dv8tion.jda.api.entities.UserSnowflake;
42-
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
43-
import net.dv8tion.jda.api.interactions.components.buttons.Button;
44-
import net.dv8tion.jda.api.requests.restaction.MessageCreateAction;
45-
import net.dv8tion.jda.api.utils.FileUpload;
46-
4744
/**
4845
* Listens for Incoming Messages and stores them in the Message Cache.
4946
*/
@@ -128,7 +125,7 @@ public void sendUpdatedMessageToLog(Message updated, CachedMessage before) {
128125
if (updated.getContentRaw().trim().equals(before.getMessageContent()) && updated.getAttachments().size() == before.getAttachments().size()) return;
129126
MessageCreateAction action = config.getMessageCacheLogChannel()
130127
.sendMessageEmbeds(buildMessageEditEmbed(updated.getGuild(), updated.getAuthor(), updated.getChannel(), before, updated))
131-
.setActionRow(Button.link(updated.getJumpUrl(), "Jump to Message"));
128+
.addComponents(ActionRow.of(Button.link(updated.getJumpUrl(), "Jump to Message")));
132129
if (before.getMessageContent().length() > MessageEmbed.VALUE_MAX_LENGTH || updated.getContentRaw().length() > MessageEmbed.VALUE_MAX_LENGTH) {
133130
action.addFiles(FileUpload.fromData(buildEditedMessageFile(updated.getAuthor(), before, updated), before.getMessageId() + ".txt"));
134131
}

src/main/java/net/discordjug/javabot/listener/GitHubLinkListener.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import net.discordjug.javabot.util.ExceptionLogger;
55
import net.discordjug.javabot.util.InteractionUtils;
66
import net.discordjug.javabot.util.StringUtils;
7+
import net.dv8tion.jda.api.components.actionrow.ActionRow;
8+
import net.dv8tion.jda.api.components.buttons.Button;
79
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
810
import net.dv8tion.jda.api.hooks.ListenerAdapter;
9-
import net.dv8tion.jda.api.interactions.components.buttons.Button;
1011

1112
import org.jetbrains.annotations.Contract;
1213
import org.jetbrains.annotations.NotNull;
@@ -37,7 +38,7 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) {
3738
if (!content.getFirst().isBlank() && !content.getSecond().isBlank()) {
3839
event.getMessage().reply(String.format("```%s\n%s\n```", content.getSecond(), StringUtils.standardSanitizer().compute(content.getFirst())))
3940
.setAllowedMentions(List.of())
40-
.setActionRow(InteractionUtils.createDeleteButton(event.getAuthor().getIdLong()), Button.link(matcher.group(), "View on GitHub"))
41+
.addComponents(ActionRow.of(InteractionUtils.createDeleteButton(event.getAuthor().getIdLong()), Button.link(matcher.group(), "View on GitHub")))
4142
.queue();
4243
}
4344
}
@@ -56,7 +57,7 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) {
5657
String[] segments = Arrays.copyOfRange(arr, 3, arr.length);
5758
// The file name, split by "."
5859
String[] file = segments[segments.length - 1].split("\\.");
59-
Integer[] lines = Arrays.stream(file[1].split("L"))
60+
Integer[] lines = Arrays.stream(file[file.length-1].split("L"))
6061
.map(line -> line.replace("-", ""))
6162
.filter(line -> line.matches("-?\\d+")) // check if the given link is a number
6263
.map(Integer::valueOf).sorted().toArray(Integer[]::new);

src/main/java/net/discordjug/javabot/listener/JobChannelCloseOldPostsListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import net.discordjug.javabot.data.config.guild.ModerationConfig;
1010
import net.discordjug.javabot.util.InteractionUtils;
1111
import net.dv8tion.jda.api.EmbedBuilder;
12+
import net.dv8tion.jda.api.components.actionrow.ActionRow;
1213
import net.dv8tion.jda.api.entities.UserSnowflake;
1314
import net.dv8tion.jda.api.entities.channel.ChannelType;
1415
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
@@ -78,7 +79,7 @@ public void onChannelCreate(ChannelCreateEvent event) {
7879
.setDescription("Since only one open post is allowed per user, older posts have been closed")
7980
.setColor(Color.YELLOW)
8081
.build())
81-
.addActionRow(InteractionUtils.createDeleteButton(post.getOwnerIdLong()))
82+
.addComponents(ActionRow.of(InteractionUtils.createDeleteButton(post.getOwnerIdLong())))
8283
.queue();
8384
}
8485
}

src/main/java/net/discordjug/javabot/listener/QOTWSubmissionListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.discordjug.javabot.data.config.BotConfig;
55
import net.discordjug.javabot.data.config.guild.QOTWConfig;
66
import net.discordjug.javabot.util.InteractionUtils;
7+
import net.dv8tion.jda.api.components.actionrow.ActionRow;
78
import net.dv8tion.jda.api.entities.channel.ChannelType;
89
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
910
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
@@ -35,7 +36,7 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) {
3536
Please keep in mind that messages **over 2000 characters** get split in half due to webhook limitations.
3637
If you want to make sure that your submission is properly formatted, split your message into smaller chunks instead.""",
3738
event.getAuthor().getAsMention())
38-
.setActionRow(InteractionUtils.createDeleteButton(event.getAuthor().getIdLong()))
39+
.addComponents(ActionRow.of(InteractionUtils.createDeleteButton(event.getAuthor().getIdLong())))
3940
.queue();
4041
}
4142
}

0 commit comments

Comments
 (0)