bot = Commands.Bot(command_prefix="!") TypeError: BotBase.__init__() 缺少 1 个必需的仅关键字参数:'intents'

问题描述 投票:0回答:1

运行代码后出现此错误: 文件“C:\BOT Music\BM.py”,第 8 行,位于 bot = 命令.Bot(command_prefix="!") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 类型错误:BotBase.init() 缺少 1 个必需的仅关键字参数:'intents' 我一遍又一遍地尝试了Bard AI建议的许多方法,但总是出现上述错误 这是我从 AI Bard 复制的代码:

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

import discord_py_opus

DISCORD_TOKEN = os.getenv("...")

intents = discord.Intents.default()
intents.voice = True
bot = commands.Bot(command_prefix="!", intents=intents, token=DISCORD_TOKEN)

youtube = build("youtube", "v3", developerKey=os.getenv("DEVELOPER_KEY"))

current_song = None

opus = discord_py_opus.OpusEncoder()

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

bot.run()`

希望可以修复

python discord
1个回答
0
投票

吟游诗人所知甚少。使用 AI 后一定要检查文档,AI 很容易产生幻觉。

我无法测试您的代码或重现错误,因为获取不和谐令牌是一个有点复杂的过程。

仔细阅读 Command 文档API 参考,我注意到了一些事情。

  • Bot及其超类Client都不采用API令牌。然而,该令牌在 login 函数中使用。
  • 命令文档说您确实需要设置
    intents.message_content = True

我还注意到代码末尾有一个杂散的反引号(`),像吟游诗人这样的 AI 经常将其放在代码示例的末尾,因为代码经常出现在 markdown 块中。这也应该被删除。

我知道这不是一个很好的答案,但这是我在这种情况下得到的最好的答案。

© www.soinside.com 2019 - 2024. All rights reserved.