【发布时间】:2020-10-20 19:17:12
【问题描述】:
我用 JDA 和我的 Questionist 编写了一个不和谐的机器人,我怎样才能获得我的机器人发送的消息的 ID?
channel.getLatestMessageIdLong()只给我用户发送的最新消息的 ID
【问题讨论】:
-
请提供您的代码以便进一步理解
标签: java discord discord-jda
我用 JDA 和我的 Questionist 编写了一个不和谐的机器人,我怎样才能获得我的机器人发送的消息的 ID?
channel.getLatestMessageIdLong()只给我用户发送的最新消息的 ID
【问题讨论】:
标签: java discord discord-jda
在 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);
});
【讨论】: