Discord机器人在线但不响应消息问题求助(discord.py)
问题解决:Discord机器人上线但不响应消息
你的问题主要出在消息意图未正确配置,另外代码里还有一个语法小错误,下面是具体的修复步骤:
1. 修复代码中的语法错误
你的代码里初始化Client时少了一个右括号,正确的写法应该是:
client = discord.Client(intents=discord.Intents.default())
2. 开启消息内容意图(核心修复)
从discord.py v2.x版本开始,message_content(消息内容)意图默认是关闭的,这是Discord的安全机制。要让机器人读取消息,需要手动开启这个意图:
修改代码中的意图配置
替换原有的意图初始化代码,改为:
import discord # 初始化默认意图,并开启消息内容权限 intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents) DISCORD_TOKEN = "my token" @client.event async def on_ready(): print("The bot is online") @client.event async def on_message(message): # 跳过机器人自己发送的消息,避免不必要的输出 if message.author == client.user: return print(message.content) client.run(DISCORD_TOKEN)
在Discord开发者后台开启特权网关意图
仅修改代码还不够,你需要在Discord开发者门户中开启对应的特权意图:
- 登录Discord开发者门户,找到你的机器人应用
- 进入「Bot」页面,滚动到「Privileged Gateway Intents」区域
- 开启「Message Content Intent」选项,保存设置
3. 重启机器人
完成上述配置后,重启你的机器人程序,现在它应该能正常打印收到的消息内容了。
内容的提问来源于stack exchange,提问作者GhostSAIYAN
相关产品推荐
相关产品推荐

