python - 如何从反应中从表情符号中获取字符串
问题描述
我正在使用 discord.py,我想知道如何获取用户反应过的表情符号的字符串值。例如,如果用户对 GB 标志做出反应,我将能够获取字符串:flag_gb:
,以便我可以访问他们是否对标志做出反应,如果是,那么它是什么标志。
@client.event
async def on_reaction_add(reaction, user):
channel = reaction.message.channel
解决方案
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")
推荐阅读
- debugging - 在 VS 代码中调试 C++ 期间无法在外部控制台中输入输入
- authentication - context.HttpContext.Request.Headers["Authorization"] 返回空值
- camera - 一加6T的FOV?
- windows - Windows 终端/Powershell 智能感知
- c++ - 最小堆比较器
- python - 带有 EndUser 模型的任务模型
- unity3d - 为什么矢量和 OnMove 函数采用不同的轴?
- typescript - STRIPE + TypeScript:TypeError:stripe_1.default 不是构造函数
- c++ - 使用鼠标单击和鼠标拖动来环绕立方体(Opengl)
- c++ - 以指针为键复制 std::map