Java Discord Bot event.getMessage().getContentRaw() is empty



我正在遵循如何在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年代

谢谢,这真的让我很困扰。

相关内容

最新更新