diff --git a/src/main/java/com/bbn/hadder/utils/EventWaiter.java b/src/main/java/com/bbn/hadder/utils/EventWaiter.java index 525dd15..2d44b8c 100644 --- a/src/main/java/com/bbn/hadder/utils/EventWaiter.java +++ b/src/main/java/com/bbn/hadder/utils/EventWaiter.java @@ -19,6 +19,7 @@ package com.bbn.hadder.utils; import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; +import net.dv8tion.jda.api.events.message.guild.react.GuildMessageReactionAddEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import javax.annotation.Nonnull; @@ -42,4 +43,20 @@ public class EventWaiter { jda.getShardManager().addEventListener(listener); } + public void newOnReactionEventWaiter(Consumer onEvent, JDA jda, User user) { + Object listener = new ListenerAdapter() { + @Override + public void onGuildMessageReactionAdd(@Nonnull GuildMessageReactionAddEvent event) { + if (user==null) { + onEvent.accept(event); + event.getJDA().getShardManager().removeEventListener(this); + } else if (event.getUser().getId().equals(user.getId())) { + onEvent.accept(event); + event.getJDA().getShardManager().removeEventListener(this); + } + } + }; + jda.getShardManager().addEventListener(listener); + } + }