Java Discord API:已添加反应

Java Discord API:已添加反应,java,discord,bots,discord-jda,Java,Discord,Bots,Discord Jda,我找不到解决我问题的办法。我想检查一位成员是否已经添加了特定的反应(✅). 如果他已经做出了反应,他就不能把它移走,也不能把它放回去。有人能帮我吗?谢谢 这是我的代码,也许可以帮助你: 头等舱: 公共类计时开始扩展ListenerAdapter{ 公共静态长ID; 公共静态长时间启动; 公共静态长端; 已接收公共无效OnGuildMessage(GuildMessageReceivedEvent事件){ 字符串[]args=event.getMessage().getContentRaw().s

我找不到解决我问题的办法。我想检查一位成员是否已经添加了特定的反应(✅). 如果他已经做出了反应,他就不能把它移走,也不能把它放回去。有人能帮我吗?谢谢

这是我的代码,也许可以帮助你:

头等舱:

公共类计时开始扩展ListenerAdapter{
公共静态长ID;
公共静态长时间启动;
公共静态长端;
已接收公共无效OnGuildMessage(GuildMessageReceivedEvent事件){
字符串[]args=event.getMessage().getContentRaw().split(“\\s”);
随机值=新的随机值();
int time=value.nextInt(25);
时间+=5;
如果(args[0]。等于(“!计时”)){
如果(!event.getChannel().getId().equals(“730784510932811859”)){
event.getChannel().sendMessage(event.getMember().getAsMention()+),如果要播放,请转到“+event.getGuild().getTextChannelById(730784510932811859l).getAsMention()).queue();
}else if(event.getChannel().getId().equals(“730784510932811859”)){
EmbeddeBuilder eb=新的EmbeddeBuilder();
eb.setColor(0xfcdf03);
eb.setTitle(整数.toString(时间)+“秒”);
eb.setDescription(“与反应✅ 当你认为时间到了!”;
event.getChannel().sendMessage(eb.build()).queue(msg->{
msg.addReaction(“✅").队列();
ID=msg.getIdLong();
});
begin=System.currentTimeMillis();
}
}
}
}
二等舱,在这里,我想看看他是否已经做出反应:

公共类计时反应扩展ListenerAdapter{
public void onGuildMessageReactionAdd(GuildMessageActionAddEvent事件){
如果(event.getMessageIdLong()==TimingStart.ID&&event.getReactionMote().getName().equals()✅")) {
TimingStart.end=System.currentTimeMillis();
double tempsEcoule=((double)(TimingStart.end-TimingStart.begin))/1000;
event.getChannel().sendMessage(event.getMember().getAsMotion()+),您在“+tempsEcoule+”秒!”后作出反应。queue();
//如果用户已经做出反应,他不能移除反应并将其放回原处。
}
}
}

我确信这是不可能的

为了限制用户删除他们的反应,您必须取消他们的操作。
guildMessageActionRemoveEvent
仅在反应消失后才会触发

一种解决方法是,如果用户删除了他们的反应或随后做出了反应,则可以使其变得无关紧要


例如,一旦用户第一次做出反应,您可以将布尔值设置为true,如果布尔值为false(当然,如果它是正确的emote),则只执行
GuildMessageActionAddEvent
中的代码。

我确信这是不可能的

为了限制用户删除他们的反应,您必须取消他们的操作。
guildMessageActionRemoveEvent
仅在反应消失后才会触发

一种解决方法是,如果用户删除了他们的反应或随后做出了反应,则可以使其变得无关紧要


例如,一旦用户第一次做出反应,您可以将布尔值设置为true,如果此布尔值为false(当然,如果它是正确的emote),则仅执行
guildMessageActionAddEvent
中的代码.

欢迎使用Stackoverflow。请编辑您的问题并附加到您迄今为止编写的代码,这些代码有问题。我只是编辑以添加代码。欢迎使用Stackoverflow。请编辑您的问题并附加到您迄今编写的代码,这些代码有问题。我只是编辑以添加代码。