JDA - 获取自己消息的消息 ID
Posted
技术标签:
【中文标题】JDA - 获取自己消息的消息 ID【英文标题】:JDA - Get Message ID of own Message 【发布时间】:2020-10-20 19:17:12 【问题描述】:我用 JDA 和我的 Questionist 编写了一个不和谐的机器人,我怎样才能获得我的机器人发送的消息的 ID?
channel.getLatestMessageIdLong()
只给我用户发送的最新消息的 ID
【问题讨论】:
请提供您的代码以便进一步理解 【参考方案1】:在 MessageAction 上使用队列回调:
channel.sendMessage(content).queue((message) ->
long messageId = message.getIdLong();
// use messageId here
);
请记住,queue
是异步,这意味着您不能这样做:
long[] messageId = new long[1];
channel.sendMessage(content).queue((message) ->
messageId[0] = message.getIdLong();
);
System.out.println(messageId[0]);
您传递给queue
的回调不会立即运行。任何依赖回调代码的代码都应该在回调内部:
channel.sendMessage(content).queue((message) ->
long messageId = message.getIdLong();
System.out.println(messageId);
);
另见Using RestAction
【讨论】:
以上是关于JDA - 获取自己消息的消息 ID的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin discord jda 无法通过 id 获取消息