|
6 | 6 | import net.dv8tion.jda.api.JDABuilder; |
7 | 7 | import net.dv8tion.jda.api.OnlineStatus; |
8 | 8 | import net.dv8tion.jda.api.entities.Activity; |
| 9 | +import net.dv8tion.jda.api.entities.Message; |
9 | 10 | import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; |
10 | 11 | import net.kyori.adventure.text.Component; |
11 | 12 | import net.kyori.adventure.text.format.NamedTextColor; |
@@ -64,15 +65,44 @@ public void sendStatusMessage(String message) { |
64 | 65 | if (ServerSettingsAPI.getApi().isMaintenanceEnabled()) return; |
65 | 66 | TextChannel channel = jda.getTextChannelById(serverStatusChannelID); |
66 | 67 | 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 | + }); |
68 | 83 | } |
69 | 84 | } |
70 | 85 |
|
71 | 86 | public void sendPlayerMessage(String message) { |
72 | 87 | if (ServerSettingsAPI.getApi().isMaintenanceEnabled()) return; |
| 88 | + |
73 | 89 | TextChannel channel = jda.getTextChannelById(playerStatusChannelID); |
74 | 90 | 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 | + }); |
76 | 106 | } |
77 | 107 | } |
78 | 108 |
|
|
0 commit comments