Java 关于通过jda编码的discord bot的问题
我的机器人无法打印输出。我检查了一下,发现逻辑部分没有问题,因为我使用sane逻辑生成了一个普通的java程序。请帮助,因为它是卡住打印输出不协调,我不知道如何解决它。 我还添加了一些不必要的打印函数来找出错误所在。令我惊讶的是,它只是在打印消息,这是不寻常的,因为我以前做过机器人,他们没有任何错误只是“打印”消息Java 关于通过jda编码的discord bot的问题,java,eclipse,discord,discord-jda,Java,Eclipse,Discord,Discord Jda,我的机器人无法打印输出。我检查了一下,发现逻辑部分没有问题,因为我使用sane逻辑生成了一个普通的java程序。请帮助,因为它是卡住打印输出不协调,我不知道如何解决它。 我还添加了一些不必要的打印函数来找出错误所在。令我惊讶的是,它只是在打印消息,这是不寻常的,因为我以前做过机器人,他们没有任何错误只是“打印”消息 import javax.security.auth.login.LoginException; import net.dv8tion.jda.api.JDA; import ne
import javax.security.auth.login.LoginException;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.Activity;
public class rpsidnfp {
public static JDA jda;
public static void main(String args[]) throws LoginException {
jda = JDABuilder.createDefault("(my token here)").build();
core2 core2obj = new core2();
jda.addEventListener(core2obj);
}
}
前者是我的主课。
下面是核心类,因为它包含所有函数
package pack.rpsidnfp;
import java.util.Random;
//import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
public class core2 extends ListenerAdapter {
public static String prefix = "!";
public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
String input = event.getMessage().getContentRaw();
String[] options = {"rock", "paper", "scissors"};
Random robj = new Random();
int rnum = robj.nextInt(options.length);
System.out.println(rnum);
String conf = options[rnum];
event.getChannel().sendMessage(conf);
System.out.println(conf);
String same = prefix + conf;
String win = "congrats, you won!";
String lose = "lmao, you lost";
if(input.equals(same)) {
event.getChannel().sendMessage("we both kept the same thing");
}
else if(input.equals(prefix + options[0])) {
if(conf.equals(options[1])) {
event.getChannel().sendMessage(lose);
}
else if(conf.equals(prefix + options[2])) {
event.getChannel().sendMessage(win);
}
}
else if(input.equals(prefix + options[1])) {
if(conf.equals(options[0])) {
event.getChannel().sendMessage(win);
}
else if(conf.equals(options[2])) {
event.getChannel().sendMessage(lose);
}
}
else if(input.equals(prefix + options[2])) {
if(conf.equals(options[0])) {
event.getChannel().sendMessage(lose);
}
else if(conf.equals(options[2])) {
event.getChannel().sendMessage(win);
}
}
}
}
该方法返回一个。您需要对该重启实例调用queue()
此外,请记住,您的机器人会收到自己的消息,因此您应该确保它会忽略这些消息。您可以添加if(event.getAuthor().isBot())返回
到侦听器方法的开头
另见: