如何从反应中获取表情符号中的字符串

时间:2018-06-11 16:59:33

标签: python python-3.x discord discord.py

我正在使用discord.py,我想知道如何获取用户已经做出反应的表情符号的字符串值。例如,如果用户对GB标志作出反应,我将能够获得字符串:flag_gb:,以便我可以访问,如果他们对标志做出反应,那么它是什么标志。

@client.event
async def on_reaction_add(reaction, user):
    channel = reaction.message.channel

1 个答案:

答案 0 :(得分:0)

Emoji对象具有name属性。查看Reaction对象,看起来Reaction.emoji属性可以是字符串或Emoji实例。尝试像

这样的东西
@client.event
async def on_reaction_add(reaction, user):
    emoji = reaction.emoji
    if isinstance(emoji, discord.Emoji):
        name = emoji.name
    elif isinstance(emoji, str):
        name = emoji
    else:
        raise ValueError("Unknown emoji of type:", type(emoji))
    print("Name of emoji:", name)
    if "flag" in name:
        print("The emoji is a flag")