Java Discord API命令不打印任何内容



所以我对这个JDA库非常陌生,但我精通Java。我似乎不明白为什么下面的代码不起作用。我有一个Init类和一个命令类。

初始化类

package corp.vjz.bots.discord.testbot;
import javax.security.auth.login.LoginException;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.OnlineStatus;

public class Initialize {

public static void main(String[] args) throws LoginException {

//starts the discord robot
JDA jda = JDABuilder.createDefault("NzIyMTMyNjczOTkyMzI3MzEw.Xueodg.EpeszQDFxc1IM21_CZmKMUv7Wys").build();

//sets the status of the discord robot
jda.getPresence().setStatus(OnlineStatus.ONLINE);

//add a new event listener
jda.addEventListener(new Commands());
}
}

这是我的命令类:

package corp.vjz.bots.discord.testbot;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;

public class Commands extends ListenerAdapter {

private static String PREFIX = "-";

public void onGuildMsgReceived(GuildMessageReceivedEvent event) {

//parse through message
String[] args = event.getMessage().getContentRaw().split("\s+");
if (args[0].equalsIgnoreCase(Commands.PREFIX + "info")) {
event.getChannel().sendTyping().queue();
event.getChannel().sendMessage("Wassup! BRO.").queue();

}
}
}

这应该说";Wassup!兄弟"每当用户"聊天"时-信息";但在现实中,什么都没有出现。是的,我确实邀请了discord机器人,做了Oauth2等等,结果很好,只是我不知道它为什么不打印它应该打印的内容。

您没有覆盖ListenerAdapter中的方法。引用故障排除指南:

4.您没有覆盖正确的方法
使用@Override并查看它是否失败。您的方法必须使用ListenerAdapter中定义的正确名称和参数列表。阅读更多。

因此,正确的方法名称记录在ListenerAdapter javadoc中,即onGuildMessageReceived

您没有为if命令编写else代码;

最新更新