Skip to content

Commit fa09ba7

Browse files
committed
Added function to delete old Status messages in discord channel
1 parent 99981b4 commit fa09ba7

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

src/main/java/de/lars/utilsmanager/integrations/discord/DiscordBot.java

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import net.dv8tion.jda.api.JDABuilder;
77
import net.dv8tion.jda.api.OnlineStatus;
88
import net.dv8tion.jda.api.entities.Activity;
9+
import net.dv8tion.jda.api.entities.Message;
910
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
1011
import net.kyori.adventure.text.Component;
1112
import net.kyori.adventure.text.format.NamedTextColor;
@@ -64,15 +65,44 @@ public void sendStatusMessage(String message) {
6465
if (ServerSettingsAPI.getApi().isMaintenanceEnabled()) return;
6566
TextChannel channel = jda.getTextChannelById(serverStatusChannelID);
6667
if (channel != null) {
67-
channel.sendMessage(message).queue();
68+
channel.getIterableHistory().takeAsync(100).thenAccept(messages -> {
69+
if (!messages.isEmpty()) {
70+
channel.deleteMessages(messages).queue(
71+
success -> channel.sendMessage(message).queue(),
72+
error -> {
73+
for (Message msg : messages) {
74+
msg.delete().queue();
75+
}
76+
channel.sendMessage(message).queue();
77+
}
78+
);
79+
} else {
80+
channel.sendMessage(message).queue();
81+
}
82+
});
6883
}
6984
}
7085

7186
public void sendPlayerMessage(String message) {
7287
if (ServerSettingsAPI.getApi().isMaintenanceEnabled()) return;
88+
7389
TextChannel channel = jda.getTextChannelById(playerStatusChannelID);
7490
if (channel != null) {
75-
channel.sendMessage(message).queue();
91+
channel.getIterableHistory().takeAsync(100).thenAccept(messages -> {
92+
if (!messages.isEmpty()) {
93+
channel.deleteMessages(messages).queue(
94+
success -> channel.sendMessage(message).queue(),
95+
error -> {
96+
for (Message msg : messages) {
97+
msg.delete().queue();
98+
}
99+
channel.sendMessage(message).queue();
100+
}
101+
);
102+
} else {
103+
channel.sendMessage(message).queue();
104+
}
105+
});
76106
}
77107
}
78108

0 commit comments

Comments
 (0)