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

2024-05-17 09:02:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用不和谐.py我想知道如何获得用户反应的表情符号的字符串值。例如,如果一个用户用一个GB标志作出反应,我就可以得到字符串:flag_gb:,这样我就可以访问他们是否用一个标志作出反应,如果是,那是什么标志。你知道吗

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

Tags: 字符串用户pyclienteventasync标志def
1条回答
网友
1楼 · 发布于 2024-05-17 09:02:20

^{}对象具有name属性。看看^{}对象,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")

相关问题 更多 >