我正在遵循如何在Java中创建不和聊天机器人的指南,但无论我做什么,聊天机器人都无法从服务器获取消息。它知道它们已被发送,但无法获得它们的内容。
我已经尝试过getcontenttraw (), getcontentdisplay (), getcontentstripping()方法,但它们都没有返回任何东西,但一个空字符串。
public static void main(String[] args) {
JDA jda = JDABuilder.createDefault(token)
.setActivity(Activity.playing("something"))
.enableIntents(GatewayIntent.GUILD_MESSAGES)
.enableIntents(GatewayIntent.DIRECT_MESSAGES)
.addEventListeners(new DiscordBot())
.build();
}
@Override
public void onMessageReceived(@NotNull MessageReceivedEvent event) {
System.out.println(event.getMessage().getContentRaw());
System.out.println(event.getAuthor().getName());
}
我可以在控制台上看到作者。
我也尝试了不同版本的依赖关系,但我已经尝试返回相同的空字符串。我给了bot管理员权限(我不想发布它,我只是为了好玩而创建它),但它仍然不起作用。
我试图在构建器中使用enableIntents(GatewayIntent.MESSAGE_CONTENT)方法,但程序立即停止,错误代码为0
您没有添加这个:GatewayIntent.MESSAGE_CONTENT
[在这里输入图像描述][1]不和谐如果我没有错最近补充说,没有这个选项不会留下消息,所以,如果你尝试tageando机器人将显示,昨天我花了同样的事情,但研究发现解决方案
(1)确保在不和谐音开发者门户中激活相应的init[1]: https://i.stack.imgur.com/8VMRv.png
(2)将其添加到代码中[2]:
JDA jda = JDABuilder.createDefault(token)
.setActivity(Activity.playing("something"))
.enableIntents(GatewayIntent.MESSAGE_CONTENT)
.addEventListeners(new DiscordBot())
.build();
- 我还附上了一个视频,以便您更好地理解->https://www.youtube.com/watch?v=GKxQ8uM8lhI& t = 276年代
谢谢,这真的让我很困扰。