我正在使用discord-jda创建一个discord机器人,我想创建一个eval命令,该命令使用discord服务器中的消息执行代码。

最佳答案

要从聊天中读取消息,您需要一个EventListener

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()

请注意,这只是一个概述,可以帮助您正确进行。很难根据您的要求提供更具体的信息,如果您使用更多信息来编辑答案,我也很乐意在此处进行更新。

07-26 03:54