Мой бот 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))```