import net.dv8tion.jda.api.AccountType;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import org.jetbrains.annotations.NotNull;
public class Main extends ListenerAdapter {
public static void main(String[] args) throws Exception{
JDABuilder bot = new JDABuilder(AccountType.BOT);
String token = "token";
bot.setToken(token);
bot.build();
}
@Override
public void onMessageReceived(@NotNull MessageReceivedEvent event) {
System.out.println("message received");
event.getChannel().sendMessage("reeeeeeee");
super.onMessageReceived(event);
}
}
您没有对SendMessage
返回的MessageAction
调用Queue()
。
使用X时不会发生任何事情
在JDA中,我们通过使用公共RestAction类来使用异步速率限制处理。当您有诸如Channel.SendMessage(“Hello”)之类的代码时;或message.delete();实际上什么都没发生。这是因为sendMessage(...)以及delete()返回一个RestAction实例。这里没有完成,因为该类只是执行请求的一个中间步骤。在这里,您可以决定使用异步队列()(推荐)、提交()或阻塞完成()(不推荐)。
public class Main extends ListenerAdapter {
public static void main(String[] args) throws Exception{
JDABuilder.createDefault(token) // don't use the deprecated constructor
.addEventListeners(new Main()) // register your listener
.build();
}
@Override
public void onMessageReceived(@NotNull MessageReceivedEvent event) {
System.out.println("message received");
event.getChannel().sendMessage("reeeeeeee").queue(); // call queue
}
}
我正在尝试让我的JDA discord bot删除文本频道中的所有消息,目前我使用的代码效率极低,偶尔有效,有时无效。代码: 我知道一个事实,我正在调用函数,我知道一个事实,正在传递的文本通道是正确的。请帮我同样的忙。
在与JMS合作的过程中,我有一个疑问。据我所知,创建同步消息消费者是可能的。但是,我必须以一定的频率启动它,因为事实上没有侦听器。接下来,为了同步使用队列中的消息,我可以创建一个MDB并将池设置为1。我认为这不是一个好的解决办法。 我的目标是在消息出现在队列中时同步地使用它们。从我的观点来看,上述解决方案并不好:1。不时推出的消费者。2.MDB(通常异步)和池设置为1。 有什么适合我的解决方案吗?
我在某处读到,您每10分钟只能修改2个通道,但您发送的消息也是如此吗?或者您只能每10分钟执行更改/发送/创建两次这样的操作吗? 和之间有什么区别 提前致谢:D
null 编辑: 我使用了jda.getUserCache();检查缓存是否工作,我是缓存,但它仍然不工作。
只有监听设备消息后,在就收到消息数据才会返回消息内容,否则,不返回接收的消息内容。 请求方式: "|4|2|2|\r" 返回值: "|4|2|2|1|\r" 监听成功 Arduino样例: softSerial.print("|4|2|2|\r");
我试图做一个程序来创建一个无尽的循环,例如: 但是主要的问题是一个机器人听不到另一个机器人的声音,所以这不起作用。。。 有没有办法让机器人听另一个机器人的?提前感谢!:)