on_reaction_add custom emoji












1















I have a command that adds two emojis in my text:



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


using on_reaction_add, when the emoji is clicked, it does something:



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

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

except KeyError:
pass


however only the ✔️ emoji reacts, when the custom emoji :name:id is reacted, it does nothing, what should I do to make it work?
I already tried to use if reaction.emoji == ":name:id": without < > but also not working..
just to make it clear about :name:id, name is the name of emoji, and id is the id of emoji










share|improve this question





























    1















    I have a command that adds two emojis in my text:



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


    using on_reaction_add, when the emoji is clicked, it does something:



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

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

    except KeyError:
    pass


    however only the ✔️ emoji reacts, when the custom emoji :name:id is reacted, it does nothing, what should I do to make it work?
    I already tried to use if reaction.emoji == ":name:id": without < > but also not working..
    just to make it clear about :name:id, name is the name of emoji, and id is the id of emoji










    share|improve this question



























      1












      1








      1








      I have a command that adds two emojis in my text:



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


      using on_reaction_add, when the emoji is clicked, it does something:



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

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

      except KeyError:
      pass


      however only the ✔️ emoji reacts, when the custom emoji :name:id is reacted, it does nothing, what should I do to make it work?
      I already tried to use if reaction.emoji == ":name:id": without < > but also not working..
      just to make it clear about :name:id, name is the name of emoji, and id is the id of emoji










      share|improve this question
















      I have a command that adds two emojis in my text:



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


      using on_reaction_add, when the emoji is clicked, it does something:



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

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

      except KeyError:
      pass


      however only the ✔️ emoji reacts, when the custom emoji :name:id is reacted, it does nothing, what should I do to make it work?
      I already tried to use if reaction.emoji == ":name:id": without < > but also not working..
      just to make it clear about :name:id, name is the name of emoji, and id is the id of emoji







      python bots discord discord.py






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 23 '18 at 14:18









      Patrick Haugh

      30.5k92849




      30.5k92849










      asked Nov 23 '18 at 5:13









      Lucas TeschLucas Tesch

      5817




      5817
























          1 Answer
          1






          active

          oldest

          votes


















          1














          If the reaction is with a custom emoji, then reaction.Emoji will be a discord.Emoji object that represents that emoji. Otherwise it will be a string.



          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 == '✔️':
          ...





          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53440949%2fon-reaction-add-custom-emoji%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            If the reaction is with a custom emoji, then reaction.Emoji will be a discord.Emoji object that represents that emoji. Otherwise it will be a string.



            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 == '✔️':
            ...





            share|improve this answer




























              1














              If the reaction is with a custom emoji, then reaction.Emoji will be a discord.Emoji object that represents that emoji. Otherwise it will be a string.



              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 == '✔️':
              ...





              share|improve this answer


























                1












                1








                1







                If the reaction is with a custom emoji, then reaction.Emoji will be a discord.Emoji object that represents that emoji. Otherwise it will be a string.



                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 == '✔️':
                ...





                share|improve this answer













                If the reaction is with a custom emoji, then reaction.Emoji will be a discord.Emoji object that represents that emoji. Otherwise it will be a string.



                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 == '✔️':
                ...






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 23 '18 at 14:25









                Patrick HaughPatrick Haugh

                30.5k92849




                30.5k92849
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53440949%2fon-reaction-add-custom-emoji%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    Hercules Kyvelos

                    Tangent Lines Diagram Along Smooth Curve

                    Yusuf al-Mu'taman ibn Hud