Discord机器人message.content始终为空的问题求助
Discord机器人message.content始终为空的解决办法
- 确认Message Content Intent完全开启:
不光要在代码里配置开启,还要去Discord开发者平台的机器人设置页,找到特权网关意图,勾选开启Message Content Intent,保存后重启机器人。 - 补全事件装饰器:
你的代码里缺少@client.event装饰器,导致on_message事件没有被正确注册。修改后的代码如下:@client.event async def on_message(message): if message.author == client.user: return # 获取用户信息 username = str(message.author) user_message = str(message.content) channel = str(message.channel) # 调试打印 print(f"{username} 说: '{user_message}' ({channel})") - 检查机器人频道权限:
确保机器人在目标频道拥有查看频道和读取消息历史的权限,无权限会导致无法获取消息内容。 - 处理命令冲突(若使用命令框架):
如果你的机器人同时用了commands.Bot这类命令框架,需要在on_message函数末尾加入await client.process_commands(message),避免事件逻辑和命令逻辑冲突影响消息读取。
内容的提问来源于stack exchange,提问作者CMtheCreator
相关产品推荐
相关产品推荐

