【问题标题】:JDA - Get Message ID of own MessageJDA - 获取自己消息的消息 ID
【发布时间】:2020-10-20 19:17:12
【问题描述】:

我用 JDA 和我的 Questionist 编写了一个不和谐的机器人,我怎样才能获得我的机器人发送的消息的 ID?

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

【问题讨论】:

  • 请提供您的代码以便进一步理解

标签: java discord discord-jda


【解决方案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

【讨论】:

    猜你喜欢
    • 2020-05-04
    • 2022-01-05
    • 2021-03-06
    • 2019-04-28
    • 2013-04-02
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多