DiscordJS消息收集器中m.content为空的问题求助
猜国旗机器人消息内容为空的解决方案
核心原因
Discord从v14版本起,要求机器人必须开启Message Content Intent权限才能读取用户发送的消息内容。如果未开启该权限,机器人获取到的消息内容会是空字符串,直接导致你的答案判断逻辑失效。
解决步骤
- 登录Discord开发者后台,找到你的机器人应用
- 进入「Bot」页面,在「Privileged Gateway Intents」板块,开启「Message Content Intent」选项
- 重启你的机器人服务
额外优化建议
- 完善消息过滤器,排除机器人自身发送的消息,避免干扰收集结果:
const filter = m => m.author.id === interaction.user.id && !m.author.bot - 统一字符串匹配规则,避免大小写、空格导致的判断错误:
if (m.content.toLowerCase().replaceAll(' ', '') === flag) { // 答对后的逻辑 }
内容的提问来源于stack exchange,提问作者ShedeurCoder
相关产品推荐
相关产品推荐

