#python #discord #discord.py
#python #Discord #discord.py
Вопрос:
Я просто пробую создавать ботов Discord, и я попытался поместить эту команду в категорию, однако эта ошибка появляется независимо от того, как я называю команду. Вот мой код:
import discord,random
from discord.ext import commands
bot = commands.Bot(command_prefix=';')
@bot.event
async def on_ready():
print("bot is ready for stuff")
await bot.change_presence(activity=discord.Game(name=";help"))
class general_stuff(commands.Cog):
"""Stuff that's not important to the bot per say"""
@bot.command()
async def lkibashfjiabfiapbfaipb(self, message):
await message.send("test received.")
bot.add_cog(general_stuff())
bot.run("TOKEN")
и это ошибка, которую я получаю обратно:
The command lkibashfjiabfiapbfaipb is already an existing command or alias.
Независимо от того, сколько я меняю команду, она продолжает выдавать ту же ошибку.
Ответ №1:
Вы на правильном пути. Причина, по которой вы получаете ошибку, заключается в том, что при запуске программы она считывается сверху и работает вниз;
class general_stuff(commands.Cog):
"""Stuff that's not important to the bot per se"""
@bot.command() # Command is already registered here
async def lkibashfjiabfiapbf(self, message):
await message.send("test received.")
bot.add_cog(general_stuff())
# It tries to load the class general_stuff, but gets the error because
# it's trying to load the same command as it loaded before
@bot.command
добавляет метод к боту и загружает его. Вы работаете с Cogs @commands.command()
. Он только преобразует метод в команду, но не загружает его.
Ваш код должен выглядеть так
...
class general_stuff(commands.Cog):
"""Stuff that's not important to the bot per se"""
@commands.command()
async def lkibashfjiabfiapbf(self, message):
await message.send("test received.")
...
Ссылки: