如何在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();
}
}
答案 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.equals
或msg.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");
}