Discord机器人!deaths命令无响应问题求助
问题排查与解决
1. 开启Message Content意图
Discord v2.0+ 要求必须显式启用message_content意图才能读取消息内容,默认的Intents.default()不包含这个权限。修改客户端初始化代码:
intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents)
同时要在Discord开发者门户的机器人页面,找到"Privileged Gateway Intents",开启"Message Content Intent"。
2. 修正文件路径
你使用的/deaths.txt是系统根目录路径,大概率你的文件并不在该位置。如果deaths.txt和代码文件在同一文件夹,改成相对路径:
with open('deaths.txt', 'r') as file:
3. 排除机器人自身消息
在on_message事件开头添加判断,避免机器人响应自己发送的消息:
@client.event async def on_message(message): if message.author == client.user: return # 后续原有逻辑保持不变
4. 验证机器人频道权限
确保机器人在目标频道拥有读取消息和发送消息的权限,可以在服务器设置的角色权限面板中检查配置。
按上述步骤逐一排查,即可解决命令无响应的问题。
内容的提问来源于stack exchange,提问作者notsogood
相关产品推荐
相关产品推荐

