Skip to content
This repository was archived by the owner on Oct 1, 2019. It is now read-only.

Commit 2995fd3

Browse files
committed
Edited messages less then 20 seconds old are interpreted as command as well
1 parent f75369a commit 2995fd3

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

src/main/java/de/nikos410/discordBot/DiscordBot.java

+31-1
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@
99
import java.lang.reflect.Method;
1010
import java.nio.file.Path;
1111
import java.nio.file.Paths;
12+
import java.time.LocalDateTime;
13+
import java.time.temporal.ChronoUnit;
1214
import java.util.HashMap;
1315

1416
import sx.blah.discord.api.IDiscordClient;
1517
import sx.blah.discord.api.events.EventSubscriber;
1618
import sx.blah.discord.api.internal.json.objects.EmbedObject;
1719
import sx.blah.discord.handle.impl.events.ReadyEvent;
1820
import sx.blah.discord.handle.impl.events.guild.channel.message.MessageReceivedEvent;
21+
import sx.blah.discord.handle.impl.events.guild.channel.message.MessageUpdateEvent;
1922
import sx.blah.discord.handle.obj.IChannel;
2023
import sx.blah.discord.handle.obj.IGuild;
2124
import sx.blah.discord.handle.obj.IMessage;
@@ -154,7 +157,34 @@ private void makeCommandMap() {
154157
*/
155158
@EventSubscriber
156159
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) {
158188
final String messageContent = message.getContent();
159189

160190
// Message doesn't start with the prefix

0 commit comments

Comments
 (0)