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

Discord机器人初始化报错:缺失必填intents参数求助

修复Discord音乐机器人的TypeError: BotBase.init() missing 'intents'参数问题

问题根源

你使用的Bard提供的代码存在几个关键错误,导致报错无法解决:

  • 错误传入token参数:commands.Bot的初始化方法不接受token参数,token应传递给bot.run()方法。
  • 缺少discord核心模块导入:代码中使用了discord.Intents但未导入discord模块。
  • 冗余的Opus配置:discord.py已内置Opus支持,无需手动导入discord_py_opus并创建编码器实例。
  • Intents权限不足:仅开启voice intents不足以接收命令消息,需要额外开启message_content权限(需同步在Discord开发者后台开启对应权限)。

修复后的完整代码

import os
import discord
from dotenv import load_dotenv
from googleapiclient.discovery import build
from discord.ext import commands
from discord.utils import get

# 加载环境变量
load_dotenv()
DISCORD_TOKEN = os.getenv("DISCORD_TOKEN")
DEVELOPER_KEY = os.getenv("DEVELOPER_KEY")

# 配置Intents
intents = discord.Intents.default()
intents.voice = True
intents.message_content = True  # 必须开启才能接收命令消息

# 初始化Bot,注意不要传入token参数
bot = commands.Bot(command_prefix="!", intents=intents)

youtube = build("youtube", "v3", developerKey=DEVELOPER_KEY)

current_song = None

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

# 补充你的其他命令逻辑...

# 运行Bot,在此处传入token
bot.run(DISCORD_TOKEN)

额外注意事项

  • Discord开发者后台配置:登录Discord开发者平台,找到你的机器人应用,进入"Bot"页面,在"Privileged Gateway Intents"下开启"Message Content Intent"权限。
  • 依赖版本:确保安装了最新稳定版的discord.py,执行命令pip install -U discord.py完成更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:32:44