Discord.py中message_content Intent无法获取消息内容问题求助
问题解决:Discord机器人无法获取消息内容
可能的原因及解决步骤
1. 确认Discord开发者门户的特权意图已启用
Message Content Intent属于特权网关意图,仅在代码中设置还不够,必须在Discord开发者平台手动开启:
- 登录Discord开发者门户,找到你的机器人应用
- 进入「Bot」标签页,拉到「Privileged Gateway Intents」区域
- 开启「Message Content Intent」开关并保存更改
2. 调整代码中的Intents配置
确保Intents包含必要权限,可修改代码如下:
import discord # 先加载默认基础意图,再开启所需的特权意图 intents = discord.Intents.default() intents.message_content = True intents.guilds = True client = discord.Client(intents=intents) @client.event async def on_ready(): print("Ready") @client.event async def on_message(message): # 跳过机器人自身发送的消息,避免无效处理 if message.author.bot: return print(message.content) client.run("你的机器人Token")
3. 验证机器人在服务器中的权限
在目标服务器内,确保机器人角色拥有以下核心权限:
- 查看频道
- 读取消息历史
可通过服务器设置→角色→找到机器人角色,勾选对应权限后刷新机器人状态
4. 确认Token有效性
检查client.run()中的Token是否为机器人专属的Bot Token,而非OAuth2客户端ID或密钥
内容的提问来源于stack exchange,提问作者Lolyay
相关产品推荐
相关产品推荐

