Java builder.build().getShardManager()返回null(JDA Discord Bot)|如何调用shardmanager?
我是JDA discord bot的新手,在使用builder.build().getShardManager()方法时遇到了问题。 在代码中的某些点上,我需要s硬管理器,但我不知道如何获得它。 我发现可以在JDA对象上调用getShardManager()(这里:JDABuilder.build()) 但它只返回一个空引用。(主类在第4行崩溃,出现nullpointerexception) (如果没有shardmanager,则bot可以工作) 如何正确获取shardmanager 主代码 您应该使用对象,而不是对象 试着这样做:Java builder.build().getShardManager()返回null(JDA Discord Bot)|如何调用shardmanager?,java,null,sharding,discord-jda,Java,Null,Sharding,Discord Jda,我是JDA discord bot的新手,在使用builder.build().getShardManager()方法时遇到了问题。 在代码中的某些点上,我需要s硬管理器,但我不知道如何获得它。 我发现可以在JDA对象上调用getShardManager()(这里:JDABuilder.build()) 但它只返回一个空引用。(主类在第4行崩溃,出现nullpointerexception) (如果没有shardmanager,则bot可以工作) 如何正确获取shardmanager 主代码 您
this.builder = JDABuilder.createDefault(TOKEN);
builder.addEventListeners(new CommandHandler());
JDA jda = this.builder.build();
jda.getPresence().setActivity(Activity.playing("Hello World!"));
您还可以在构建Bot之前设置
this.builder = JDABuilder.createDefault(TOKEN);
builder.addEventListeners(new CommandHandler());
builder.setActivity(Activity.playing("Hello World!"));
JDA jda = this.builder.build();
啊,我明白了,谢谢。看起来他们把以前在shardManager上的方法放在JDA上了。不,你只是没有构建一个shard manager。自述文件解释了这一点
this.builder = JDABuilder.createDefault(TOKEN);
builder.addEventListeners(new CommandHandler());
builder.setActivity(Activity.playing("Hello World!"));
JDA jda = this.builder.build();