Python Discord Bot无法读取/打印消息问题求助
Discord机器人代码修复方案
问题分析与修复点
- 意图权限不足:Discord 要求机器人显式开启
message_content意图才能读取消息内容,默认的Intents.default()不包含该权限。 - 语法错误:代码中
client. User存在多余空格,正确写法为client.user,否则会触发属性访问异常。 - 环境变量验证:需确保系统环境变量
TOKEN已正确配置为你的Discord机器人令牌。
修复后的完整代码
import discord import os # 启用必要的意图,包含消息内容权限 intents = discord.Intents.default() intents.message_content = True client = discord.Client(intents=intents) @client.event async def on_ready(): print("I'm ready") @client.event async def on_message(message): print(message.content) # 判断消息是否来自机器人自身,避免循环回复 if message.author == client.user: return if message.content.startswith("sa"): await message.channel.send("as") client.run(os.environ['TOKEN'])
额外配置步骤
前往Discord开发者平台的机器人管理页面,在Privileged Gateway Intents区域开启Message Content Intent,否则机器人仍无法读取频道消息。
内容的提问来源于stack exchange,提问作者Nevfel Çiçek
相关产品推荐
相关产品推荐

