builder.build().getShardManager() returns 空(JDA Discord 机器人)|我如何调用 shardmanager?

builder.build().getShardManager() returns null (JDA Discord Bot) | how do I call the shardmanager?

我是 JDA discord bot 的新手,遇到了 builder.build().getShardManager() 方法的问题。 在我的代码中的某些地方,我需要 shardManager 但我不知道如何获取它。 我发现可以在 JDA 对象 上调用 getShardManager()(此处:JDABuilder.build()) 但它只是 returns 一个空引用。 (主要 class 在第 4 行崩溃并出现 nullpointerexception) (没有 shardmanager 机器人工作)

如何正确获取shardmanager

主要代码

this.builder = JDABuilder.createDefault(TOKEN);
builder.addEventListeners(new CommandHandler());
shardManager = this.builder.build().getShardManager();
shardManager.setActivity(Activity.playing("Do smth."));

你应该使用 JDA Object and not the ShardManager.

尝试这样的事情:

this.builder = JDABuilder.createDefault(TOKEN);
builder.addEventListeners(new CommandHandler());
JDA jda = this.builder.build();
jda.getPresence().setActivity(Activity.playing("Hello World!"));

您还可以在构建 Bot

之前设置 Activity
this.builder = JDABuilder.createDefault(TOKEN);
builder.addEventListeners(new CommandHandler());
builder.setActivity(Activity.playing("Hello World!"));
JDA jda = this.builder.build();