Как разрешить команду пользователю при условии, что у него 2 определенные роли?

Пытался сделать так, но не сработало.

@client.command(pass_context = True )
@commands.has_role("1" and "2")

Ответы (2 шт):

Автор решения: Швеев Алексей

Я не знаком с данной библиотекой, однако следующий код может сработать:

if @commands.has_role("1") and @commands.has_role("2"): #если есть роль 1 И есть роль 2
    @client.command(pass_context = True)#выполняем нужную команду
→ Ссылка
Автор решения: Corrygan

Я привёл просто пример с командой test, вы могли использовать декоратор @commands.has_role(), но там идёт проверка только на одну роль.

@bot.command()
async def test(ctx):
    role_one = discord.utils.get(ctx.guild, id=ид_первой_роли)
    role_two = discord.utils.get(ctx.guild, id=ид_второй_роли)
    if role_one in ctx.author.roles and role_two in ctx.author.roles:
        await ctx.send('Работает!')
    else:
        await ctx.send(f'{ctx.author}, у вас нет нужных ролей.')
→ Ссылка