#python #discord #discord.py #discord.py-rewrite
#python #Discord #discord.py #discord.py-перезапись
Вопрос:
Я экспериментирую с использованием винтиков в discord.py и я следовал руководству YouTube о том, как это сделать, я следовал руководству, однако я получаю сообщение об ошибке
Это мой основной бот.py-файл
import discord
import os
from discord.ext import commands
client = commands.Bot(command_prefix ='!')
@client.command()
async def load(ctx, extension):
client.load_extension(f'cogs.{extension}')
@client.command()
async def unload(ctx, extension):
client.unload_extension(f'cogs.{extension}')
for filename in os.listdir('./cogs'):
if filename.endswith('.py'):
client.load_extension(f'cogs.{filename[:-3]}')
client.run('Token')
И это мой винтик example.py
import discord
from discord.ext import Commands
class Example(commands.Cog):
def __init__(self, client):
self.client = client
#Events
@commands.Cog.listener()
async def on_ready(self):
print('Bot is online.')
#commands
@commands.command()
async def ping(self, ctx):
await ctx.send('Pong!')
def setup(client):
client.add_cog(Example(client))
Однако, когда я запускаю своего бота, мой винтик находится в папке с именем cogs в том же каталоге.py-файл, я получаю эту ошибку
raise errors.ExtensionFailed(key, e) from e
discord.ext.commands.errors.ExtensionFailed: Extension 'cogs.example' raised an error: ImportError: cannot import name 'Commands' from 'discord.ext' (unknown location)
Комментарии:
1. В вашем коде опечатка.
commands
должно быть в нижнем регистре в файле cog
Ответ №1:
Commands
должно быть в нижнем регистре, поскольку оно ссылается на discord.ext.commands
, discord.py модуль команд.
from discord.ext import commands