Discord Bot无法发送消息问题排查求助
解决Discord Bot无法响应消息的问题
你的Bot无法触发messageCreate事件并回复消息,主要有两个核心问题需要修复:
1. 缺失消息内容读取权限意图
Discord.js v14及以上版本,要读取消息内容必须显式声明MessageContent意图。你的当前配置里没有添加这个意图,导致Bot无法获取消息文本,自然无法匹配"ping"关键词。
修改客户端初始化代码,补充该意图:
import { Client, IntentsBitField } from "discord.js" const client = new Client({ intents: [ IntentsBitField.Flags.Guilds, IntentsBitField.Flags.GuildMessages, IntentsBitField.Flags.MessageContent // 新增这个意图 ] });
2. 开启开发者门户的消息内容权限
仅在代码里添加意图还不够,你需要登录Discord开发者门户,找到你的Bot应用:
- 进入"Bot"页面
- 在"Privileged Gateway Intents"区域,开启Message Content Intent开关
- 重新邀请Bot到服务器(确保邀请链接包含
applications.commands和bot权限,且勾选发送消息、读取消息历史等必要权限)
额外检查项
- 确认
.env文件里的TOKEN值正确,没有拼写错误 - 查看控制台是否输出了
astoon bot is READY!,确保Bot已成功登录
修改完成后重启Bot,发送"ping"应该就能收到"Pong!"回复了。
内容的提问来源于stack exchange,提问作者Demon
相关产品推荐
相关产品推荐

