Discord.py 无法加载齿轮

Discord.py cant load cogs

我试图 link 我 main.py 中的齿轮。但它总是报错。 我们还检查是否缺少某些包裹,但没有。 机器人在没有 listdir 的情况下启动,但在我们尝试 link 之后它不起作用。 我们还写: class 帮助(commands.Cog): def init(self, client): self.client = 客户 进入整个py的。但是还是不行。

import discord
import os
import sys
import asyncio
import importlab
import importlib
from discord.ext import commands

TOKEN = "Tokeninhere"

client = commands.Bot(command_prefix ="!")
PREFIX = "!"

@client.event
async def on_ready():
    print('Bot is ready')
    activity = discord.Activity(type=discord.ActivityType.listening, name=F"{PREFIX}help")
    await client.change_presence(status=discord.Status.idle, activity=activity)

  
for filename in os.listdir('./Cog'):
    if filename.endswith('.py'):
        client.load_extension(f'./Cog/{filename[:-3]}')
    
client.run(TOKEN)

弹出的错误:

Traceback (most recent call last):
Traceback (most recent call last):
  File "main.py", line 23, in <module>
    client.load_extension(f'./Cog/{filename[:-3]}')
  File "/home/runner/Tijon-Bot-Main/venv/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 670, in load_extension
    name = self._resolve_name(name, package)
  File "/home/runner/Tijon-Bot-Main/venv/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 629, in _resolve_name
    return importlib.util.resolve_name(name, package)
  File "/nix/store/p21fdyxqb3yqflpim7g8s1mymgpnqiv7-python3-3.8.12/lib/python3.8/importlib/util.py", line 32, in resolve_name
    raise ValueError(f'no package specified for {repr(name)} '
ValueError: no package specified for './Cog/mods' (required for relative module names)
 

感谢帮助!

试试这个:

 client.load_extension(f'Cog.{filename[:-3]}')

并确保您的 cog 中有设置功能。

def setup(bot):
    client.add_cog(Help(bot))