Предоставление пользователям с определенной ролью доступа к команде - PullRequest
0 голосов
/ 14 октября 2018

По какой-то причине это не позволяет мне сделать команду, в которой определенные пользователи с определенной ролью, называемой "DJ", получают доступ к команде.Я попробовал все, но все еще не работает.

@commands.command(pass_context=True, no_pm=True)
async def leave(self, ctx):
    if ctx.message.author.roles == 'DJ':
        try:
            server = ctx.message.server
            voice_client = self.client.voice_client_in(server)
            await voice_client.disconnect()
        except Exception as error:
            await self.client.say('{}'.format(error))
    else:
        await self.client.say('You require the role `DJ` to use this command.')

1 Ответ

0 голосов
/ 14 октября 2018

author.roles возвращает список Role объектов, поэтому вам нужно перебрать этот список и найти объект с именем "DJ"

. Вы можете сделать что-то подобное

if "DJ" in [role.name.upper() for role in ctx.message.author.roles]:
...