【发布时间】:2022-01-05 22:14:36
【问题描述】:
对于我的学校项目,我正在学习如何设置机器人。我想出了如何获取消息 ID 的消息。但是 ID 不是来自 Bot,他从编写命令的 Author 那里获取 ID。 :
if (content.equals("!dim")){
channel.sendMessage("TEST!").queue();
Message bot = event.getMessage();
long messageID = bot.getIdLong();
String s = String.valueOf(messageID);
System.out.print(s);
channel.editMessageById(messageID, "text").queue();
}
控制台错误:
914706361378557982[ForkJoinPool.commonPool-worker-19] ERROR RestAction - RestAction queue returned failure: [ErrorResponseException] 50005: Cannot edit a message authored by another user
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:573)
at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:539)
at MessageListener.onMessageReceived(MessageListener.java:68)
at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:483)
at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:96)
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:88)
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:70)
at net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:160)
at net.dv8tion.jda.internal.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:123)
at net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:36)
at net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:952)
at net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:839)
at net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:817)
at net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:991)
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)
我可以从错误中看出我的 MessageId 不是来自 Bot。无论如何可以从 Bot 的 MessageBot 获取它。 如果您需要更多信息,我会尽快更新此帖子。
【问题讨论】:
-
你试过了,效果很好?我有个主意。阅读 Discord API 的文档。
-
不,我没用。我编辑了这篇文章,并更新了更多信息。我尝试自己先与文档一起做,但我无法得到它。我是编码新手,并试图改进我的编码。抱歉,您必须阅读这篇可悲的帖子。 @大卫康拉德。
标签: java discord bots discord-jda