builder.build().getShardManager() 返回 null (JDA Discord Bot) |我如何调用 shardmanager?
Posted
技术标签:
【中文标题】builder.build().getShardManager() 返回 null (JDA Discord Bot) |我如何调用 shardmanager?【英文标题】:builder.build().getShardManager() returns null (JDA Discord Bot) | how do I call the shardmanager? 【发布时间】:2021-07-04 13:43:53 【问题描述】:我是 JDA discord bot 的新手,遇到了 builder.build().getShardManager() 方法的问题。 在我的代码中的某些时候,我需要 shardManager 但我不知道如何获得它。 我发现 getShardManager() 可以在 JDA 对象 上调用(这里:JDABuilder.build()) 但它只返回一个空引用。 (主类在第 4 行崩溃,出现 nullpointerexception) (没有 shardmanager 机器人可以工作)
如何正确获取shardmanager?
主要代码
this.builder = JDABuilder.createDefault(TOKEN);
builder.addEventListeners(new CommandHandler());
shardManager = this.builder.build().getShardManager();
shardManager.setActivity(Activity.playing("Do smth."));
【问题讨论】:
【参考方案1】:您应该使用JDA 对象而不是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();
【讨论】:
啊,我明白了,谢谢。好像他们把以前在 shardManager 上的方法放在了 JDA 上。 不,您只是没有构建分片管理器。自述文件解释了这个here以上是关于builder.build().getShardManager() 返回 null (JDA Discord Bot) |我如何调用 shardmanager?的主要内容,如果未能解决你的问题,请参考以下文章
Facebook按钮我正在使用firebaseUI多重登录,除了Facebook Builder().build()外,所有按钮都在生成,如何使该按钮膨胀?
The error may exist in com/bjpowernode/dao/StudentDao.xml ### Cause: org.apache.ibatis.builder.Build