on_reaction_add пользовательские смайлики - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть команда, которая добавляет два смайлика в мой текст:

await Bot.add_reaction(msg, ":name:id")
await Bot.add_reaction(msg, "✔️")

, используя on_reaction_add , когда при нажатии на смайлики происходит что-то:

@Bot.event
async def on_reaction_add(reaction, user):
    try:
        if reaction.emoji == "<:name:id>":
          ##stuffs

        if reaction.emoji == "✔️":
          ##stuffs

    except KeyError:
        pass

однако реагирует только ✔️ эмодзи, когда реагирует пользовательский эмодзи : name: id , он ничего не делает, что мне делать, чтобы он работал?Я уже пытался использовать , если response.emoji == ": name: id": без <> , но также не работает .. просто чтобы прояснить : имя: id , name - это имя emoji, а id - это имя emoji

1 Ответ

0 голосов
/ 23 ноября 2018

Если реакция с пользовательскими смайликами, то reaction.Emoji будет discord.Emoji объектом, представляющим эти смайлики.В противном случае это будет строка.

from discord import Emoji

@Bot.event
async def on_reaction_add(reaction, user):
    emoji = reaction.emoji
    if isinstance(emoji, Emoji):
        if emoji.name == 'myemoji':
            ...
    else:
        if emoji == '✔️':
            ...
...