在Java中更改Discord机器人的前缀

时间:2020-09-27 21:24:57

标签: java discord

如何在Java中更改Discord机器人的前缀?这是我的代码:

package Rekt.YourAssistant;
 
import javax.security.auth.login.LoginException;

import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;

public class Main {
    public static JDA jda;
    
    //Main Method
    public static void main(String[] args) throws LoginException {
        jda = JDABuilder.createDefault("NzU4MTIxMTkwMjExNDUyOTQ4.X2qVYA.aW6C3UrekBZQrmA-AmMxYEMyibI").build();
    }
}

2 个答案:

答案 0 :(得分:0)

我对JDA一无所知,但是似乎没有开箱即用的命令处理程序-您需要找到并安装一个或编写自己的命令处理程序。
因此,前缀不是一个预先管理的概念。这就是JDA Github example shows making one command(我简化为获取相关信息)的方式:

public class MessageListenerExample extends ListenerAdapter
{
    public static void main(String[] args)
    {
       //start bot
    }

    @Override
    public void onMessageReceived(MessageReceivedEvent event)
    {
        //These are provided with every event in JDA
        JDA jda = event.getJDA();

        Message message = event.getMessage();           //The message that was received.

        String msg = message.getContentDisplay();              //This returns a human readable version of the Message. Similar to
                                                        // what you would see in the client.

        if (event.isFromType(ChannelType.TEXT))         //If this message was sent to a Guild TextChannel
        {
           if (msg.equals("!ping"))
           {
             //do something
           }
           if (msg.startsWith("!alias"))
           {
             //do something else
           }
        }
     }
}

请注意,if msg.equalsmsg.startsWith方法对具有自己的前缀!

的字符串起作用

我强烈建议您阅读整个示例,因为我剪切了很多以显示前缀部分。

P.S。您应该重新生成在问题中发布的Bot令牌。它现在在互联网上,人们可以通过它控制您的机器人。当您发布其他问题时,您只需在“我的令牌到这里”处写上,人们就会知道您的意思。

答案 1 :(得分:0)

您可以使用 GuildMessageReceivedEvent 然后使用

// Set This Prefix String To Whatever You want As Your Prefix
String prefix = "/"
if(event.getMessage().getContentRaw.equals(prefix + "help"){
   event.getMessage().getChannel().sendMessage("You used /help command");
}
相关问题