Discord音乐机器人报错:初始化缺少必填关键字参数intents
修复Discord.py Bot初始化的Intents错误
这个错误是因为Discord.py v2.0及以上版本要求创建commands.Bot时必须显式传入intents参数,这是Discord API的强制要求,用来控制机器人能访问的事件权限。
修复步骤:
- 初始化Intents对象并开启必要权限
- 创建Bot实例时传入
intents参数 - 在Discord开发者门户的机器人页面,开启对应的特权意图(比如Message Content Intent)
修改后的完整代码:
import discord from discord.ext import commands import os from help_cog import help_cog from music_cog import music_cog # 初始化默认intents,开启消息内容权限(处理命令必需) intents = discord.Intents.default() intents.message_content = True # 传入intents参数创建Bot实例 bot = commands.Bot(command_prefix="?", intents=intents) bot.remove_command("help") bot.add_cog(help_cog(bot)) bot.add_cog(music_cog(bot)) bot.run(os.getenv("token"))
额外说明:
discord.Intents.default()启用了大部分基础事件权限,但message_content默认关闭,必须手动开启;同时要在Discord开发者后台的「Privileged Gateway Intents」中开启该权限,否则机器人无法接收消息命令。- 如果机器人需要其他特殊权限(比如成员更新、语音状态监听等),可以在intents对象中对应开启,比如
intents.members = True,同样需要在开发者后台开启对应的特权意图。
内容的提问来源于stack exchange,提问作者gygy
相关产品推荐
相关产品推荐

