You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JDA Discord机器人无法正常识别用户消息问题求助

问题排查与解决

1. 检查Gateway Intents配置

JDA 5及以上版本必须明确开启消息内容相关Intent,否则无法获取用户消息内容。创建JDA实例时需添加MESSAGE_CONTENT权限:

JDABuilder.createDefault("你的机器人令牌")
          .enableIntents(GatewayIntent.MESSAGE_CONTENT)
          .addEventListeners(new 你的事件监听器类())
          .build();

同时登录Discord开发者平台的机器人页面,在「Privileged Gateway Intents」区域开启Message Content Intent开关。

2. 验证消息类型

若用户发送的是嵌入消息、附件或仅含表情的消息,getContentRaw()会返回空字符串。可通过以下代码验证:

Message msg = event.getMessage();
if (msg.getAttachments().isEmpty() && msg.getEmbeds().isEmpty() && msg.getStickers().isEmpty()) {
    // 处理纯文本消息
} else {
    System.out.println("消息包含附件/嵌入/表情");
}

3. 确认监听器注册

检查事件监听器类是否被正确注册到JDA实例中,避免重复注册或注册错误。

4. 测试不同消息类型

分别发送纯文本、带表情的文本、纯表情消息,观察终端输出,确认是否仅纯文本消息出现空内容问题,缩小排查范围。


内容的提问来源于stack exchange,提问作者Extrreme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:35:17