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

Discord机器人初始化报错:BotBase.__init__缺失必填参数'intents'

解决方案

问题原因

Discord.py 2.0及以上版本强制要求传入intents参数,这是Discord官方的权限管控机制,用来限定机器人能接收的事件类型与数据范围,避免不必要的资源占用和权限滥用。

修复步骤

  1. 配置Intents参数
    先在代码里初始化并配置intents,最简单的方式是用默认模板,再按需开启额外权限:

    import discord
    from discord.ext import commands
    
    # 初始化默认权限集合
    intents = discord.Intents.default()
    # 若要处理消息类命令,必须开启消息内容权限
    intents.message_content = True
    

    注意:除了代码里开启message_content,还得去Discord开发者后台的Bot选项卡,找到「Privileged Gateway Intents」栏目,手动打开「Message Content Intent」开关,否则机器人收不到消息内容。

  2. 修改Bot初始化代码
    把原来的bot = commands.Bot(command_prefix='<')改成:

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

完整修复后的代码

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True

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

@bot.event
async def on_ready():
    print("bot is running now!!!")

bot.run("TOKEN")

额外提示

  • 如果你的机器人不需要处理消息内容,可以不用开启message_content,但涉及消息触发的命令必须开启该权限。
  • 其他特殊需求(比如获取成员列表、服务器事件)可以在intents里开启对应字段,比如intents.members = True,同时也要在开发者后台开启对应特权权限。

内容的提问来源于stack exchange,提问作者أحمد هباد

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:56:11