You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.py初始化Bot实例提示缺少必填intents参数报错

问题复现

触发报错的代码:

client =  commands.Bot(command_prefix='!')

运行抛出的错误信息:

TypeError: init() missing 1 required keyword-only argument: 'intents'

报错原因

discord.py 自 2.0 正式版本开始,将 intents 参数设为了 commands.Bot 初始化时的必填关键字参数,1.x 版本无此强制要求。之前可正常运行的代码突然触发该报错,是因为运行环境中的 discord.py 依赖被自动升级到了 2.0 及以上版本。

解决方案
  • 方案一(推荐,适配v2版本规范):
    1. 先进入Discord开发者平台对应机器人的设置页,在「Bot」分类下的「Privileged Gateway Intents」板块,按需开启所需的权限开关:如果要使用前缀指令响应普通用户消息,必须开启Message Content Intent;如果需要监听服务器成员加入、退出等事件,需要开启Server Members Intent。
    2. 修改Bot初始化代码,传入配置完成的intents参数:
import discord
from discord.ext import commands

# 加载默认基础intents配置
intents = discord.Intents.default()
# 开启消息内容读取权限,前缀指令必开
intents.message_content = True
# 如需监听成员相关事件,取消注释下一行
# intents.members = True

client = commands.Bot(command_prefix='!', intents=intents)
  • 方案二(临时兼容方案,不推荐长期使用):如果暂时不想适配v2版本规范,可以将discord.py降级到1.x系列最终稳定版本,执行如下命令:
    pip install discord.py==1.7.3

提示:Discord官方已逐步停止对旧版网关接口的支持,长期运行机器人建议尽快适配v2版本的intents规范,避免后续出现功能不可用的问题。

内容的提问来源于stack exchange,提问作者KonstTheoGR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 02:03:23