@NekIT_049
Жалкая пародия на программиста

Бот в дискорд на discord.py. Как сделать задержку на использование команд одним пользователем?

Например, чтобы один и тот же пользователь мог банить раз в час и не больше.
Прилагаю уже готовый код команды:

@Bot.command(pass_context=True)
@commands.has_role('admin')
async def ban(ctx, member: discord.Member, days=1):
    if user is None:
        await ctx.send(f'{error_emoji} **Пожалуйста, укажите пользователя!** {error_emoji}')
    else:
        try:
            await client.ban(member, delete_message_days=0)
            await client.say('User banned for **' + str(days) + ' day(s)**')
            ban_list.append(member)
            day_list.append(days * 24 * 60 * 60)
            server_list.append(ctx.message.server)
        except:
            await client.say('Error! User not active')
        await client.say('You do not have permission to ban users!')
  • Вопрос задан
  • 263 просмотра
Решения вопроса 1
@Whitly
Ты можешь использовать @commands.cooldown(rate, per, type)
Как пользоватся есть на сайте Discord Py
Но в кратце
rate (int) - то сколько раз человек может прописать команду до активации задержки
per (float) - время задержки (в секундах)
type - в самом discord py много типов, но в твоем случае подойдет commands.BucketType.user
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы