discord.py проблемы с загрузкой расширений - PullRequest
0 голосов
/ 08 мая 2020

Мой бот Discord подключен к моему серверу Discord, и все команды, похоже, выполняются должным образом. Когда я пытаюсь использовать команды загрузки или выгрузки, появляется сообщение об ошибке: «Команда вызвала исключение: ExtensionNotFound: Extension 'cogs.commands' не может быть загружен». Я понятия не имею, почему он говорит, что они не загружены, но все еще выполняются команды и события, которые находятся в расширениях. Я уже пытался переписать то, что у меня было для команд загрузки и выгрузки, я попытался переименовать расширения в «События» и «Команды». Я только новичок и думаю, что написал что-то не так. Вот команды загрузки, выгрузки, перезагрузки и настройки.

@client.command()
async def load(ctx, extension):
  client.load_extension(f'cogs.{extension}')
  print(f'{extension} successfully loaded')

# cog unloader command
@client.command()
async def unload(ctx, extension):
  client.unload_extension(f'cogs.{extension}')
  print(f'{extension} successfully unloaded')

# cog reloader command, unload then load extenion
@client.command()
async def reload(ctx, extension):
  client.unload_extension(f'cogs.{extension}')
  client.load_extension(f'cogs.{extension}')
  print(f'{extension} successfully re-loaded')

# for loop to find cogs folder
for filename in os.listdir('./cogs'):
  if filename.endswith('.py'):
    client.load_extension(f'cogs.{filename[:-3]}')

Вот другой файл, содержащий события и команды, которые я написал как расширение.

from discord.ext import commands

# --EVENTS--
class Events(commands.Cog):

  def __init__(self, client):
    self.client = client

  # Bot online event
  @commands.Cog.listener()
  async def on_ready(self):
    print('GuhBot v3 is online and ready! C:')

  # Member joined Event
  @commands.Cog.listener()
  async def on_member_join(self, member):
    print(f'{member} joined the server. C:') 

  # Member left Event
  @commands.Cog.listener()
  async def on_member_remove(self, member):
    print(f'{member} left the server. :C')

# --MODERATION--
class Moderation(commands.Cog):

  def __init__(self, client):
    self.client = client

  # clear command. default 5 messages, can be changed by user.
  @commands.command()
  async def clear(self, ctx, amount=5):
    await ctx.channel.purge(limit=amount+1)

# Cog Setup 
def setup(client):
  client.add_cog(Events(client))
  client.add_cog(Moderation(client))```    

...