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

Дискорд бот. В чем проблема?

Делаю бота который будет банить людей по команде с кд 1 час и банить могут только участники с определенной ролью.
@commands.has_role('1')
async def ban(ctx, member: discord.Member, days=1):
    if member is None:
        await ctx.send(f'{error_emoji} **Пожалуйста, укажите пользователя!** {error_emoji}')
    else:
        try:
            await Bot.ban(member, delete_message_days=0)
            await ctx.send('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 ctx.send('Error! User not active')
        await ctx.send('You do not have permission to ban users!')


Вместо бана на команду -ban @iSovBot 2 отвечает вот этим:
61504b1082c3f313489042.png

В чем ошибка? Роль я себе выдал, роль бота поставил выше всех и всё равно...
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Hawchik_dev
Вы не правильно указали условие наличия роли.

Попробуйте вот это:
@commands.has_permissions(ban_members=True)
async def ban(ctx, member: discord.Member, days=1):
    if member is None:
        await ctx.send(f'{error_emoji} **Пожалуйста, укажите пользователя!** {error_emoji}')
    else:
        try:
            await ctx.guild.ban(member, delete_message_days=0)
            await ctx.send('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 ctx.send('Error! User not active')
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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