Java JDA不一致将反应添加到消息中
我在尝试向机器人发送的消息添加反应时遇到问题。这是我的代码和当我尝试添加反应时遇到的问题 这个想法很简单。只需bot发送一个轮询命令,并向其添加反应,如向上竖起拇指和向下竖起拇指,例如: “$poll这是示例轮询”,创建此轮询后,添加反应 代码-Java JDA不一致将反应添加到消息中,java,discord,discord-jda,Java,Discord,Discord Jda,我在尝试向机器人发送的消息添加反应时遇到问题。这是我的代码和当我尝试添加反应时遇到的问题 这个想法很简单。只需bot发送一个轮询命令,并向其添加反应,如向上竖起拇指和向下竖起拇指,例如: “$poll这是示例轮询”,创建此轮询后,添加反应 代码- @Override protected void execute(CommandEvent event) { if (this.check(event)) { return; }
@Override
protected void execute(CommandEvent event) {
if (this.check(event)) {
return;
}
var args = event.getArgs().trim();
if (args.isEmpty()) {
this.incorrectUsage(event);
return;
}
var announcementFormat = this.getConfig().getMessages().get("pool-format")
.replaceAll("%message", args);
event.reply(announcementFormat);
event.getMessage().addReaction("✔").queue();
}
错误-
ERROR net.dv8tion.jda.api.requests.RestAction - RestAction queue returned failure: [ErrorResponseException] 10008: Unknown Message
net.dv8tion.jda.api.exceptions.ContextException
at net.dv8tion.jda.api.exceptions.ContextException.here(ContextException.java:54)
at net.dv8tion.jda.api.requests.Request.<init>(Request.java:71)
at net.dv8tion.jda.internal.requests.RestActionImpl.queue(RestActionImpl.java:197)
at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:563)
at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:529)
at cf.lionsquad.lionminus.command.impl.PollCommand.execute(PollCommand.java:48)
at com.jagrosh.jdautilities.command.Command.run(Command.java:323)
at com.jagrosh.jdautilities.command.impl.CommandClientImpl.onMessageReceived(CommandClientImpl.java:557)
at com.jagrosh.jdautilities.command.impl.CommandClientImpl.onEvent(CommandClientImpl.java:445)
at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:96)
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:82)
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:69)
at net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:150)
at net.dv8tion.jda.internal.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:122)
at net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:36)
at net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:948)
at net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:835)
at net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:813)
at net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:986)
at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:385)
at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:276)
at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:996)
at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:755)
at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108)
at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64)
at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45)
ERROR net.dv8tion.jda.api.requests.RestAction-RestAction队列返回失败:[ErrorResponseException]10008:未知消息
net.dv8tion.jda.api.exceptions.ContextException
在net.dv8tion.jda.api.exceptions.ContextException.here(ContextException.java:54)
net.dv8tion.jda.api.requests.Request.(Request.java:71)
位于net.dv8tion.jda.internal.requests.RestActionImpl.queue(RestActionImpl.java:197)
位于net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:563)
位于net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:529)
位于cf.lionsquad.lionminus.command.impl.PollCommand.execute(PollCommand.java:48)
位于com.jagrosh.jdautilities.command.command.run(command.java:323)
位于com.jagrosh.jdautilities.command.impl.CommandClientImpl.onMessageReceived(CommandClientImpl.java:557)
位于com.jagrosh.jdautilities.command.impl.CommandClientImpl.OneEvent(CommandClientImpl.java:445)
位于net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:96)
在net.dv8tion.jda.internal.hooks.EventManagerProxy.handle内部(EventManagerProxy.java:82)
位于net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:69)
位于net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:150)
位于net.dv8tion.jda.internal.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:122)
位于net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:36)
位于net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:948)
位于net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:835)
位于net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:813)
位于net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:986)
在com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:385)上
在com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:276)上
位于com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:996)
位于com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:755)
位于com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108)
位于com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64)
位于com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45)
您可以使用:
event.getChannel().sendMessage(announcementFormat)
.flatMap(message->message.addReaction(“✔"))
.queue();
而不是event.reply(announcementFormat)
您的代码当前尝试向用户发送的消息添加反应,而不是向您的机器人发送的消息添加反应。但是,该消息已在此时被删除,这就是为什么您会收到一条
未知消息错误的原因。非常有趣,感谢您的想法,但我如何添加类似于2个反应???我尝试了很多东西,但没有其中之一是:“.flatMap(message->message.addReaction(”✔"), message->message.addReaction(“emoji”)“不工作:/t尝试使用RestAction.allOf(action1,action2)放置此rest操作的位置?我尝试使用“.flatMap”(RestAction.allOf(event.getMessage()).addReaction(”✔“”,event.getMessage().addReaction(“”)✔“),不起作用。