对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]);
传递给队列
的回调不会立即运行。任何依赖于回调代码的代码都应该在回调中:
channel.sendMessage(content).queue((message) -> {
long messageId = message.getIdLong();
System.out.println(messageId);
});
我有:作者(BOT)、令牌和频道号。 我的问题是:如何在没有事件的情况下将消息发送到这个通道?
问题内容: 我有自己的基于JDA的Discord BOT。我需要向特定频道发送短信。我知道如何将消息作为onEvent响应发送,但是在我的情况下,我没有此类事件。 我有:作者(BOT),令牌和通道号。 我的问题是:如何在 没有事件的情况下 将消息发送到此频道? 问题答案: 好吧,我想我知道你的意思。您无需进行任何事件即可获取频道ID和发送消息。您唯一需要做的就是实例化JDA,调用awaitRead
我的机器人不能发送嵌入或常规文本信息,代码执行,但没有什么是发送在不和谐的通道。我遵循了JDA维基的设置,我不知道我做错了什么。 机器人登录码
我对discord.js比较陌生,我已经开始构建一个bot项目,它允许用户通过命令创建一个消息,将该消息存储在我的专用服务器上的一个隐藏通道中,然后可以通过消息ID提取所述消息。 我使用了write,它返回在隐藏通道中发送的消息的消息ID,但我完全被get命令难住了。我试过在网上搜索,但我尝试的每个方法都会返回错误,如“无法读取未定义的属性'fetch'”或“'channel'未定义”。这里是我尝
我试图使用Discord JDA API发送消息,但是每当我发送一条消息时,它就会无限地发送。 JDA版本:4.2.1_255 我尝试过什么: 使用GuildMessageReceivedEvent而不是MessageReceivedEvent来研究此问题 伪代码: SendPrivate ateMessage():