Skip to content
This repository was archived by the owner on Aug 21, 2025. It is now read-only.

Commit 56f5645

Browse files
committed
update jda discord
1 parent cf92919 commit 56f5645

7 files changed

Lines changed: 35 additions & 38 deletions

File tree

funixbot-discord/src/main/java/fr/funixgaming/funixbot/discord/FunixBot.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
import net.dv8tion.jda.api.JDA;
1818
import net.dv8tion.jda.api.Permission;
1919
import net.dv8tion.jda.api.entities.Guild;
20-
import net.dv8tion.jda.api.entities.MessageChannel;
2120
import net.dv8tion.jda.api.entities.MessageEmbed;
21+
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
2222
import org.springframework.lang.Nullable;
2323
import org.springframework.stereotype.Service;
2424

funixbot-discord/src/main/java/fr/funixgaming/funixbot/discord/configs/BotConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package fr.funixgaming.funixbot.discord.configs;
22

3+
import fr.funixgaming.funixbot.core.exceptions.FunixBotException;
34
import lombok.Getter;
45
import lombok.Setter;
56
import net.dv8tion.jda.api.JDA;
@@ -10,8 +11,6 @@
1011
import org.springframework.context.annotation.Bean;
1112
import org.springframework.context.annotation.Configuration;
1213

13-
import javax.security.auth.login.LoginException;
14-
1514
@Getter
1615
@Setter
1716
@Configuration
@@ -43,7 +42,7 @@ public class BotConfig {
4342
private String tiktokNotifRoleId;
4443

4544
@Bean(destroyMethod = "shutdown")
46-
public JDA discordInstance() {
45+
public JDA discordInstance() throws FunixBotException {
4746
try {
4847
final JDABuilder jdaBuilder = JDABuilder.createDefault(botToken);
4948

@@ -56,8 +55,9 @@ public JDA discordInstance() {
5655
);
5756

5857
return jdaBuilder.build().awaitReady();
59-
} catch (LoginException | InterruptedException e) {
60-
throw new RuntimeException("Impossible de lancer le bot discord.", e);
58+
} catch (InterruptedException e) {
59+
Thread.currentThread().interrupt();
60+
throw new FunixBotException("Impossible de lancer le bot discord.", e);
6161
}
6262
}
6363
}

funixbot-discord/src/main/java/fr/funixgaming/funixbot/discord/configs/BotConfigGenerated.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.springframework.stereotype.Component;
1313

1414
import java.io.File;
15-
import java.io.FileNotFoundException;
1615
import java.io.IOException;
1716
import java.nio.charset.StandardCharsets;
1817
import java.util.concurrent.TimeUnit;
@@ -22,25 +21,23 @@
2221
@Setter
2322
@Component
2423
public class BotConfigGenerated {
24+
private static final String ERROR_MESSAGE = "Impossible de créer le fichier botConfig.json";
2525
private final File configFile = new File(DataFiles.getInstance().getDataFolder(), "botConfig.json");
2626
private final Gson gson = new GsonBuilder()
2727
.setPrettyPrinting().
2828
excludeFieldsWithoutExposeAnnotation()
2929
.create();
3030

3131
public BotConfigGenerated(BotConfig botConfig) throws IOException {
32-
try {
33-
final String configString = FileUtils.readFileToString(configFile, StandardCharsets.UTF_8);
32+
if (!configFile.exists() && !configFile.createNewFile()) {
33+
throw new IOException(ERROR_MESSAGE);
34+
}
35+
final String configString = FileUtils.readFileToString(configFile, StandardCharsets.UTF_8);
3436

35-
if (configString.length() > 0) {
36-
final BotConfigGenerated tmp = gson.fromJson(configString, BotConfigGenerated.class);
37+
if (configString.length() > 0) {
38+
final BotConfigGenerated tmp = gson.fromJson(configString, BotConfigGenerated.class);
3739

38-
this.messageRolesChoiceId = tmp.getMessageRolesChoiceId();
39-
}
40-
} catch (FileNotFoundException e) {
41-
if (!configFile.exists() && !configFile.createNewFile()) {
42-
throw new IOException("Impossible de créer le fichier botConfig.json");
43-
}
40+
this.messageRolesChoiceId = tmp.getMessageRolesChoiceId();
4441
}
4542
}
4643

@@ -51,7 +48,7 @@ public BotConfigGenerated(BotConfig botConfig) throws IOException {
5148
public void saveConfig() {
5249
try {
5350
if (!configFile.exists() && !configFile.createNewFile()) {
54-
throw new IOException("Impossible de créer le fichier botConfig.json");
51+
throw new IOException(ERROR_MESSAGE);
5552
}
5653

5754
DataFiles.setInFile(configFile, gson.toJson(this, BotConfigGenerated.class));

funixbot-discord/src/main/java/fr/funixgaming/funixbot/discord/entities/commands/CommandIP.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import lombok.NonNull;
66
import net.dv8tion.jda.api.EmbedBuilder;
77
import net.dv8tion.jda.api.JDA;
8-
import net.dv8tion.jda.api.entities.Emoji;
8+
import net.dv8tion.jda.api.entities.emoji.Emoji;
99
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
1010
import net.dv8tion.jda.api.interactions.components.buttons.Button;
1111

@@ -36,7 +36,7 @@ public void runCommand(@NonNull SlashCommandInteractionEvent interactionEvent) {
3636
"https://pacifista.fr",
3737
"Accéder au site Web"
3838
).withEmoji(
39-
Emoji.fromEmote(":globe_web:", Long.parseLong("1078054633592852581"), false)
39+
Emoji.fromCustom(":globe_web:", Long.parseLong("1078054633592852581"), false)
4040
);
4141

4242
interactionEvent.replyEmbeds(embed.build()).addActionRow(btn).queue();

funixbot-discord/src/main/java/fr/funixgaming/funixbot/discord/events/BotMessagesEvents.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import lombok.RequiredArgsConstructor;
55
import lombok.extern.slf4j.Slf4j;
66
import net.dv8tion.jda.api.entities.Message;
7-
import net.dv8tion.jda.api.entities.MessageChannel;
87
import net.dv8tion.jda.api.entities.User;
8+
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
99
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
1010
import net.dv8tion.jda.api.events.message.MessageUpdateEvent;
1111
import net.dv8tion.jda.api.hooks.ListenerAdapter;

funixbot-discord/src/main/java/fr/funixgaming/funixbot/discord/modules/BotEmotes.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
import fr.funixgaming.funixbot.core.utils.DataFiles;
55
import fr.funixgaming.funixbot.discord.FunixBot;
66
import lombok.Getter;
7-
import net.dv8tion.jda.api.entities.Emote;
87
import net.dv8tion.jda.api.entities.Guild;
98
import net.dv8tion.jda.api.entities.Icon;
9+
import net.dv8tion.jda.api.entities.emoji.Emoji;
10+
import net.dv8tion.jda.api.entities.emoji.RichCustomEmoji;
1011
import org.springframework.lang.NonNull;
1112

1213
import javax.imageio.ImageIO;
@@ -20,9 +21,9 @@ public class BotEmotes {
2021

2122
private final FunixBot funixBot;
2223

23-
private final Emote twitchEmote;
24-
private final Emote youtubeEmote;
25-
private final Emote tiktokEmote;
24+
private final Emoji twitchEmote;
25+
private final Emoji youtubeEmote;
26+
private final Emoji tiktokEmote;
2627

2728
public BotEmotes(final FunixBot funixBot) throws FunixBotException {
2829
this.funixBot = funixBot;
@@ -33,26 +34,26 @@ public BotEmotes(final FunixBot funixBot) throws FunixBotException {
3334
this.tiktokEmote = searchEmote("tiktok", guild);
3435
}
3536

36-
private static Emote searchEmote(@NonNull final String emoteName, @NonNull final Guild guild) throws FunixBotException {
37-
final List<Emote> emoteList = guild.getEmotesByName(emoteName, false);
37+
private static Emoji searchEmote(@NonNull final String emoteName, @NonNull final Guild guild) throws FunixBotException {
38+
final List<RichCustomEmoji> emoteList = guild.getEmojisByName(emoteName, false);
3839

39-
for (final Emote emote : emoteList) {
40+
for (final Emoji emote : emoteList) {
4041
if (emote.getName().equals(emoteName)) {
4142
return emote;
4243
}
4344
}
4445
return createEmoteFromClassPath(emoteName, guild);
4546
}
4647

47-
private static Emote createEmoteFromClassPath(@NonNull final String emoteName, @NonNull final Guild guild) throws FunixBotException {
48+
private static Emoji createEmoteFromClassPath(@NonNull final String emoteName, @NonNull final Guild guild) throws FunixBotException {
4849
try {
4950
final BufferedImage bufferedImage = DataFiles.getImageFromClasspath(String.format("/emotes/%s.png", emoteName));
5051
final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
5152

5253
ImageIO.write(bufferedImage, "png", byteArrayOutputStream);
5354
final Icon icon = Icon.from(byteArrayOutputStream.toByteArray(), Icon.IconType.PNG);
5455

55-
return guild.createEmote(emoteName, icon).complete();
56+
return guild.createEmoji(emoteName, icon).complete();
5657
} catch (IOException e) {
5758
throw new FunixBotException(e.getMessage(), e);
5859
}

funixbot-discord/src/main/java/fr/funixgaming/funixbot/discord/modules/RoleMessageHandler.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
import lombok.extern.slf4j.Slf4j;
1111
import net.dv8tion.jda.api.EmbedBuilder;
1212
import net.dv8tion.jda.api.JDA;
13-
import net.dv8tion.jda.api.entities.Emoji;
14-
import net.dv8tion.jda.api.entities.TextChannel;
13+
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
1514
import net.dv8tion.jda.api.exceptions.ErrorResponseException;
1615
import net.dv8tion.jda.api.interactions.components.buttons.Button;
1716
import net.dv8tion.jda.api.requests.ErrorResponse;
@@ -69,13 +68,13 @@ private void createMessageRoleChoice(final TextChannel rolesChannel) {
6968
"Afin d'éviter de faire des tag everyone et here sur le discord, vous pouvez choisir vos rôles pour recevoir les notifications qui vous intéressent.\n" +
7069
"Vous pouvez d'ailleurs ajouter et retirer votre rôle à tout moment."
7170
)
72-
.addField(botEmotes.getTwitchEmote().getAsMention(), "Les notifications Twitch", true)
73-
.addField(botEmotes.getYoutubeEmote().getAsMention(), "Les notifications YouTube", true)
74-
.addField(botEmotes.getTiktokEmote().getAsMention(), "Les notifications TikTok", true);
71+
.addField(botEmotes.getTwitchEmote().getAsReactionCode(), "Les notifications Twitch", true)
72+
.addField(botEmotes.getYoutubeEmote().getAsReactionCode(), "Les notifications YouTube", true)
73+
.addField(botEmotes.getTiktokEmote().getAsReactionCode(), "Les notifications TikTok", true);
7574

76-
Button twitchbtn = Button.primary(TwitchNotificationRole.NAME, Emoji.fromEmote(String.format(":%s:", botEmotes.getTwitchEmote().getName()), Long.parseLong(botEmotes.getTwitchEmote().getId()), false));
77-
Button youtubebtn = Button.primary(YoutubeNotificationRole.NAME, Emoji.fromEmote(String.format(":%s:", botEmotes.getYoutubeEmote().getName()), Long.parseLong(botEmotes.getYoutubeEmote().getId()), false));
78-
Button tiktokbtn = Button.primary(TiktokNotificationRole.NAME, Emoji.fromEmote(String.format(":%s:", botEmotes.getTiktokEmote().getName()), Long.parseLong(botEmotes.getTiktokEmote().getId()), false));
75+
Button twitchbtn = Button.primary(TwitchNotificationRole.NAME, botEmotes.getTwitchEmote());
76+
Button youtubebtn = Button.primary(YoutubeNotificationRole.NAME, botEmotes.getYoutubeEmote());
77+
Button tiktokbtn = Button.primary(TiktokNotificationRole.NAME, botEmotes.getTiktokEmote());
7978

8079
rolesChannel.sendMessageEmbeds(embed.build()).setActionRow(twitchbtn, youtubebtn, tiktokbtn).queue((message -> {
8180
this.botConfigGenerated.setMessageRolesChoiceId(message.getId());

0 commit comments

Comments
 (0)