我正在使用discord-jda创建一个discord机器人,并且我想创建一个eval命令来使用discord服务器中的消息执行代码,如何做到这一点?
最佳答案
要从聊天中读取消息,您需要一个事件监听器
public class Test implements EventListener {
@Override
public void onEvent(GenericEvent event){
//First you check if this event is whatever event you're listening for
if(event instanceof MessageReceivedEvent){
//Do whatever
//Note that you can cast that event here, since it 100% is a MessageReceivedEvent
MessageReceivedEvent messageReceivedEvent = (MessageReceivedEvent) event;
//Or to operate directly
TextChannel channel = ((MessageReceivedEvent)event).getChannel();
}
}
}
您可以在这里找到相关信息https://github.com/DV8FromTheWorld/JDA/wiki/1)-Events
然后你可以使用基本的java来处理该事件并执行你想要的任何内容,之后如果你想发回东西,你将需要一个对TextChannel
的引用(MessageReceivedEvent具有getChannel()
方法很方便),您可以使用 sendMessage()
。
请注意,这只是一个概述,旨在帮助您步入正轨。很难根据您的要求提供更具体的信息,如果您用更多信息编辑您的答案,我也很乐意在此处更新。
关于java - 如何创建 eval 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61702553/