JDA-获取自己消息的消息ID

时间:2020-06-30 13:09:36

标签: java discord discord-jda

我用JDA和我的Question ist编写了一个不和谐的bot,如何获取我的Bot发送的消息的ID?

channel.getLatestMessageIdLong()仅给我用户发送的最新消息的ID

1 个答案:

答案 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