【问题标题】:on_reaction_add custom emojion_reaction_add 自定义表情符号
【发布时间】:2019-04-25 17:27:28
【问题描述】:

我有一个命令可以在我的文本中添加两个表情符号:

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

然而只有 ✔️ emoji 有反应,当自定义 emoji :name:id 有反应时,它什么也不做,我应该怎么做才能让它起作用? 我已经尝试在没有 的情况下使用 if reaction.emoji == ":name:id": 但也无法正常工作.. 只是为了说清楚:name:idname是emoji的名字,id是emoji的id

【问题讨论】:

    标签: python bots discord discord.py


    【解决方案1】:

    如果反应是使用自定义表情符号,则 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 == '✔️':
                ...
    

    【讨论】:

      猜你喜欢
      • 2016-06-08
      • 2021-08-09
      • 2020-03-20
      • 2011-10-03
      • 2019-07-23
      • 2020-02-28
      • 1970-01-01
      • 2021-02-28
      • 2019-06-02
      相关资源
      最近更新 更多