|
9 | 9 | import java.lang.reflect.Method;
|
10 | 10 | import java.nio.file.Path;
|
11 | 11 | import java.nio.file.Paths;
|
| 12 | +import java.time.LocalDateTime; |
| 13 | +import java.time.temporal.ChronoUnit; |
12 | 14 | import java.util.HashMap;
|
13 | 15 |
|
14 | 16 | import sx.blah.discord.api.IDiscordClient;
|
15 | 17 | import sx.blah.discord.api.events.EventSubscriber;
|
16 | 18 | import sx.blah.discord.api.internal.json.objects.EmbedObject;
|
17 | 19 | import sx.blah.discord.handle.impl.events.ReadyEvent;
|
18 | 20 | import sx.blah.discord.handle.impl.events.guild.channel.message.MessageReceivedEvent;
|
| 21 | +import sx.blah.discord.handle.impl.events.guild.channel.message.MessageUpdateEvent; |
19 | 22 | import sx.blah.discord.handle.obj.IChannel;
|
20 | 23 | import sx.blah.discord.handle.obj.IGuild;
|
21 | 24 | import sx.blah.discord.handle.obj.IMessage;
|
@@ -154,7 +157,34 @@ private void makeCommandMap() {
|
154 | 157 | */
|
155 | 158 | @EventSubscriber
|
156 | 159 | public void onMessageReceived(final MessageReceivedEvent event) {
|
157 |
| - final IMessage message = event.getMessage(); |
| 160 | + handleMessage(event.getMessage()); |
| 161 | + } |
| 162 | + |
| 163 | + /** |
| 164 | + * Wird bei jeder geänderten Nachricht aufgerufen |
| 165 | + * |
| 166 | + * @param event Das Event der geänderten Nachricht |
| 167 | + */ |
| 168 | + @EventSubscriber |
| 169 | + public void onMessageEdited(final MessageUpdateEvent event) { |
| 170 | + final IMessage message = event.getNewMessage(); |
| 171 | + |
| 172 | + if (message.getEditedTimestamp().isPresent()) { |
| 173 | + final LocalDateTime messageTimestamp = message.getTimestamp(); |
| 174 | + final LocalDateTime editTimestamp = message.getEditedTimestamp().get(); |
| 175 | + |
| 176 | + final long seconds = messageTimestamp.until(editTimestamp, ChronoUnit.SECONDS); |
| 177 | + |
| 178 | + if (seconds < 20) { |
| 179 | + handleMessage(message); |
| 180 | + } |
| 181 | + } |
| 182 | + } |
| 183 | + |
| 184 | + /** |
| 185 | + * Erhaltene/geänderte Nachricht verarbeiten |
| 186 | + */ |
| 187 | + public void handleMessage(final IMessage message) { |
158 | 188 | final String messageContent = message.getContent();
|
159 | 189 |
|
160 | 190 | // Message doesn't start with the prefix
|
|
0 commit comments