Python Discord Bot无法读取用户消息问题求助
解决Discord机器人无法读取消息内容的问题
你的问题核心在于Discord Intent权限配置不完整——即便给机器人设置了频道消息读取权限,代码里未正确开启message_content Intent,就无法获取消息内容。
问题原因
Discord从v8版本开始,消息内容(message.content)需要单独开启Message Content Intent,而你代码里使用的discord.Intents.default()默认不包含该权限。因此哪怕机器人在服务器中拥有读取权限,代码层面也拿不到消息内容。
解决步骤
在Discord开发者门户开启权限
登录Discord开发者平台,进入你的机器人应用:- 切换到「Bot」标签页
- 找到「Privileged Gateway Intents」区域
- 开启「Message Content Intent」的开关
修改代码中的Intent配置
将代码里的Intent初始化部分调整为以下内容,明确开启消息内容权限:def run_discord_bot(): TOKEN = 'my discord bot token is here' # 初始化默认Intent并开启message_content intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents) # 后续的on_ready、on_message事件代码保持不变 # ...
额外验证
确认机器人在服务器中的角色拥有以下权限:
- 读取消息历史
- 发送消息
- 读取频道消息
完成以上操作后重启机器人,即可正常读取message.content的内容。
内容的提问来源于stack exchange,提问作者1tylers
相关产品推荐
相关产品推荐

