#python #discord
Вопрос:
Я создаю бота Discord на Python 3.9. Это будет игра, но сейчас это не так уж много, потому что я не могу заставить работать кулдауны. Вот мой код:
import discord from discord.ext import commands from discord.ext.commands import BucketType, cooldown import pickle client = commands.Bot(command_prefix="a!",help_command=None,case_insensitive=True) @client.command(name = "adv") @commands.cooldown(1,30,commands.BucketType.user) # one command, every 30 seconds, per user async def adv(message): await message.send("adventure command") # cooldown error-handling @client.event async def adv_error(message, error): if isinstance(error, commands.CommandOnCooldown): await message.send(f'This command is on cooldown, you can use it in {round(error.retry_after, 2)} seconds') @client.command(name="commands") #@commands.cooldown(1,1,commands.BucketType.user) #one command per sec per user async def commands(message): #yeah i dunno if the thing below works for pinging the user so hehe await message.send(message.author.mention """n COMMANDS a!help: show help a!start: start your adventure in Arcanium a!inv: show your inventory (and stats) a!adv: go on an adventure """) #send help msg client.run(TOKEN)
a!commands
Команды работают нормально, так как у них нет перезарядки. a!adv
Команда работает каждые 30 секунд, но если она находится в пределах восстановления, она выдает ошибку. Он должен отправить «сообщение об ошибке» в канал команды, но вместо этого он выводит его в оболочку в виде сообщения об ошибке.