Использование винтиков в discord.py переписать

#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