Python Discord Bot - роль реакции - PullRequest
0 голосов
/ 01 мая 2020

Как бы я устроил ролевое событие? Это мой код, который я попробовал с

@client.event
async def on_raw_reaction_add(payload):
    msgID = 05793080854315018
    if payload != None:
        if payload.message_id == msgID:
            if str(payload.emoji) == "✍️":
                await add_roles("cool")

. Я хочу, чтобы мой бот проверял реакцию на конкретное сообщение c, а затем давал пользователю роль, если он реагировал с нужными смайликами.

1 Ответ

0 голосов
/ 02 мая 2020

Предполагая, что вы используете discord.py 1.3.3 , вы можете обновить свой код следующим образом, чтобы добавить роль на основе указанного c emoji.

Вам необходимо добавьте ссылки в гильдию, чтобы сослаться на роль, которую вы добавите sh. Вам также нужно сравнить эмодзи со строковым представлением payload.emoji. Возможно, стоит подумать об использовании emoji.demojize .

Попробуйте:

@client.event
async def on_raw_reaction_add(payload=None):
    msgID = <your message id: int>
    guild = discord.utils.get(client.guilds, name=<your guild name>)
    role = discord.utils.get(guild.roles, name='cool')
    if payload is not None:
        if payload.message_id == msgID:
            if str(payload.emoji) == "✍️":
                await payload.member.add_roles(role)
...