我用JDA和我的Question ist编写了一个不和谐的bot,如何获取我的Bot发送的消息的ID?
channel.getLatestMessageIdLong()
仅给我用户发送的最新消息的ID
答案 0 :(得分: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