Discord机器人启动报错:TypeError: Client.__init__()缺失必填参数'intents'
解决Discord机器人启动时的intents参数缺失错误
问题原因
Discord.py v2.0及以上版本强制要求创建Client或Bot实例时必须传入intents(网关意图)参数。这是Discord官方API的规则变更,旧版本无此要求,所以升级依赖后会触发该报错。
解决步骤
1. 在Discord开发者门户启用对应意图
- 登录Discord开发者平台,进入你的机器人应用页面
- 切换到"Privileged Gateway Intents"板块,启用所需的意图(比如Message Content Intent,你的机器人要处理用户查询必须开启这个)
2. 修改代码添加intents配置
如果你的原代码是这样的:
from discord import Client client = Client()
修改为:
from discord import Client, Intents # 初始化intents,启用默认意图+消息内容意图 intents = Intents.default() intents.message_content = True # 必须开启才能接收用户的查询消息 client = Client(intents=intents)
如果使用commands.Bot类:
from discord.ext import commands intents = Intents.default() intents.message_content = True bot = commands.Bot(command_prefix='!', intents=intents)
注意事项
- 开发者门户启用的意图必须和代码中配置的一致,否则机器人无法正常接收对应事件
- 若你的机器人还需要其他功能(比如成员变动、服务器信息),需同时启用对应意图并在代码中配置
内容的提问来源于stack exchange,提问作者Tw1zT3d 24 7
相关产品推荐
相关产品推荐

