java - 如何创建 eval 命令?

标签 java discord discord-jda

我正在使用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/

相关文章:

java - 矩阵的元素是内存地址而不是元素的值

java - 小程序访问JDialog信息

java - 这段 Java 代码如何实例化一个抽象类?

oauth-2.0 - 如何在不和谐时从 oauth 获取用户 ID

java - 如何将 List<String> 与 String 进行比较?

java - JDA - 如何将 "Member"对象转换为 "User"对象,而不是相反?

java - 从 Excel 中读取几列/行数据并获取列表

javascript - Discord 机器人在玩游戏

python - 将上下文传递给后台任务discord.py

java - 使用 JDA 将消息发送到 Discord 中的特定 channel