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

使用Python开发Discord机器人时遇BotBase初始化缺少intents参数错误求助

解决Discord机器人报错“BotBase.init() missing 1 required keyword-only argument: 'intents'”

这个错误是因为discord.py 2.0及以上版本强制要求显式设置网关意图(intents),旧版本无参初始化Bot的写法已经失效。下面是具体解决方法:

1. 基础方案:使用默认意图

如果不需要特殊权限,直接启用默认intents即可:

import discord
from discord.ext import commands

# 初始化默认意图
intents = discord.Intents.default()
# 若需要读取消息内容,必须额外开启(discord.py v2.0+强制要求)
intents.message_content = True

# 将intents传入Bot构造函数
bot = commands.Bot(command_prefix='!', intents=intents)

@bot.event
async def on_ready():
    print(f'Logged in as {bot.user}')

bot.run('你的机器人令牌')

2. 按需启用特定意图

如果机器人需要获取成员列表、用户在线状态等权限,需手动开启对应intents,同时配合Discord开发者后台配置:

  • 进入Discord开发者门户,找到你的机器人应用,进入「Bot」页面,在「Privileged Gateway Intents」板块开启需要的选项(比如Server Members Intent、Message Content Intent)。
  • 代码中对应开启意图:
import discord
from discord.ext import commands

intents = discord.Intents.default()
# 开启成员列表读取权限
intents.members = True
# 开启消息内容读取权限
intents.message_content = True
# 开启用户在线状态读取权限
intents.presences = True

bot = commands.Bot(command_prefix='!', intents=intents)

# 后续逻辑代码同上

关键注意事项

  • 确保discord.py版本为2.0及以上,旧版本可执行升级命令:pip install -U discord.py
  • 涉及特权意图的功能,必须在开发者后台开启对应选项,否则机器人无法获取相关数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:25:25