mirror of
https://github.com/Noratrieb/killua-bot.git
synced 2026-01-14 15:15:01 +01:00
39 lines
1.6 KiB
Java
39 lines
1.6 KiB
Java
package com.github.nilstrieb.reactions;
|
|
|
|
import com.github.nilstrieb.util.ConsoleColors;
|
|
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
|
|
import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent;
|
|
|
|
import java.util.HashMap;
|
|
|
|
public class ReactionEventManager {
|
|
private static final HashMap<Long, ReactionListener> currentReactions = new HashMap<>();
|
|
|
|
public static void addMessage(long message, ReactionListener listener){
|
|
currentReactions.put(message, listener);
|
|
}
|
|
|
|
public static void removeMessage(Long message){
|
|
currentReactions.remove(message);
|
|
}
|
|
|
|
public static void onReactionAdd(MessageReactionAddEvent event){
|
|
System.out.println(ConsoleColors.PURPLE + "[ReactionEventManager] Reaction added: " + event.getReactionEmote() +
|
|
" by " + event.getUser().getAsTag() + ConsoleColors.RESET);
|
|
long message = event.getMessageIdLong();
|
|
ReactionListener listener = currentReactions.get(message);
|
|
if (listener != null) {
|
|
listener.onReactionAdded(event);
|
|
}
|
|
}
|
|
|
|
public static void onReactionRemove(MessageReactionRemoveEvent event){
|
|
System.out.println(ConsoleColors.PURPLE + "[ReactionEventManager] Reaction removed: " + event.getReactionEmote() +
|
|
" by " + event.getUser().getAsTag() + ConsoleColors.RESET);
|
|
long message = event.getMessageIdLong();
|
|
ReactionListener listener = currentReactions.get(message);
|
|
if (listener != null) {
|
|
listener.onReactionRemoved(event);
|
|
}
|
|
}
|
|
}
|