发送后 10 秒使用 JDA 删除消息

use JDA delete message 10 seconds after sending

我正在制作一个发送嵌入以显示用户库存的 Discord 机器人(我正在制作一个游戏机器人)。为了避免混乱,我想在 10-20 秒后删除消息。任何人都知道我该怎么做(如果你完全理解这些问题,请不要说,"oh you need to follow blah blah format")。我在 JDA 中使用 Java eclipse。

是的,我已经查过了,但找不到 JDA 的任何东西。

您可以使用 queueAfter 这将延迟 delete() 提供的 RestAction 的执行。

public static void deleteAfter(Message message, int delay) {
    message.delete().queueAfter(delay, TimeUnit.SECONDS);
}

此方法可在您的 sendMessage 操作的成功回调中使用。

someMethod().queue((result) -> { // the type for "result" is the T in RestAction<T>
    System.out.println(result);
}, (failure) -> { // failure is always a Throwable
    failure.printStackTrace();
});

我建议阅读文档和 wiki: