Discord机器人初始化报错:缺少必填关键字参数'intents'
解决Discord机器人初始化时的
intents参数缺失错误 你遇到的问题根源是discord.py v2.0及以上版本强制要求初始化commands.Bot时必须传入intents参数,你虽然定义了intents变量,但没有在Bot初始化的代码里把这个参数传进去,所以报错会持续出现。
修正后的完整代码
import discord from discord.ext import commands # 定义并配置所需的intents intents = discord.Intents.default() intents.message_content = True # 开启消息内容读取权限 # 初始化Bot时务必传入intents参数 bot = commands.Bot(command_prefix='/', intents=intents) @bot.event async def on_ready(): print("Black_knight is up again") # 最后添加运行机器人的代码,替换为你的机器人令牌 # bot.run("你的Discord机器人令牌")
额外注意事项
- 仅在代码中开启
message_content还不够,需要登录Discord开发者平台,进入你的机器人应用页面,找到Privileged Gateway Intents板块,手动开启Message Content Intent权限,否则机器人无法正常读取消息内容。 - 确认你的discord.py版本是v2.0+,如果是旧版本可以考虑升级(执行
pip install --upgrade discord.py),低版本虽不强制要求intents,但官方已不再维护,建议使用最新版。
内容的提问来源于stack exchange,提问作者Dz Achref
相关产品推荐
相关产品推荐

