Extract Discord user ID from a discord message










0














I am working on a python bot, and one thing I need is for the bot to see if someone @'d another person (i.e. I type something like "!callout @randomuser") in a discord channel. If it detects this, I want to get the user ID of the @'d user (in this case, the user ID of @randomuser)



I know this is probably a dumb question, but was unable to find an answer elsewhere. Thanks!










share|improve this question























  • Could you please provide evidence of your efforts, do you have sample code you have been working on?
    – Madison Courto
    Nov 12 '18 at 3:54






  • 1




    Without any idea of the approach you are taking this might be of some use, discordpy.readthedocs.io/en/latest/api.html
    – Madison Courto
    Nov 12 '18 at 4:01
















0














I am working on a python bot, and one thing I need is for the bot to see if someone @'d another person (i.e. I type something like "!callout @randomuser") in a discord channel. If it detects this, I want to get the user ID of the @'d user (in this case, the user ID of @randomuser)



I know this is probably a dumb question, but was unable to find an answer elsewhere. Thanks!










share|improve this question























  • Could you please provide evidence of your efforts, do you have sample code you have been working on?
    – Madison Courto
    Nov 12 '18 at 3:54






  • 1




    Without any idea of the approach you are taking this might be of some use, discordpy.readthedocs.io/en/latest/api.html
    – Madison Courto
    Nov 12 '18 at 4:01














0












0








0







I am working on a python bot, and one thing I need is for the bot to see if someone @'d another person (i.e. I type something like "!callout @randomuser") in a discord channel. If it detects this, I want to get the user ID of the @'d user (in this case, the user ID of @randomuser)



I know this is probably a dumb question, but was unable to find an answer elsewhere. Thanks!










share|improve this question















I am working on a python bot, and one thing I need is for the bot to see if someone @'d another person (i.e. I type something like "!callout @randomuser") in a discord channel. If it detects this, I want to get the user ID of the @'d user (in this case, the user ID of @randomuser)



I know this is probably a dumb question, but was unable to find an answer elsewhere. Thanks!







python-3.x discord discord.py






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 '18 at 14:10









Patrick Haugh

27.7k82546




27.7k82546










asked Nov 12 '18 at 3:50









Caleb ReynoldsCaleb Reynolds

1




1











  • Could you please provide evidence of your efforts, do you have sample code you have been working on?
    – Madison Courto
    Nov 12 '18 at 3:54






  • 1




    Without any idea of the approach you are taking this might be of some use, discordpy.readthedocs.io/en/latest/api.html
    – Madison Courto
    Nov 12 '18 at 4:01

















  • Could you please provide evidence of your efforts, do you have sample code you have been working on?
    – Madison Courto
    Nov 12 '18 at 3:54






  • 1




    Without any idea of the approach you are taking this might be of some use, discordpy.readthedocs.io/en/latest/api.html
    – Madison Courto
    Nov 12 '18 at 4:01
















Could you please provide evidence of your efforts, do you have sample code you have been working on?
– Madison Courto
Nov 12 '18 at 3:54




Could you please provide evidence of your efforts, do you have sample code you have been working on?
– Madison Courto
Nov 12 '18 at 3:54




1




1




Without any idea of the approach you are taking this might be of some use, discordpy.readthedocs.io/en/latest/api.html
– Madison Courto
Nov 12 '18 at 4:01





Without any idea of the approach you are taking this might be of some use, discordpy.readthedocs.io/en/latest/api.html
– Madison Courto
Nov 12 '18 at 4:01













2 Answers
2






active

oldest

votes


















0














The easier way is to use the converters that come with the discord.ext.commands extension. That can give you a User object, which has a User.id attribute:



from discord.ext.commands import Bot
from discord import User

bot = Bot(command_prefix='!')

@bot.command(pass_context=True)
async def getid(ctx, user: User):
await bot.say("Their ID is ".format(user.id))

@bot.command(pass_context=True)
async def callout(ctx, user: User):
await bot.say(", someone is talking about you".format(user.mention))

bot.run("token")





share|improve this answer




























    0














    The simplest way would be using mentions. This generates a list of users, for all users that were mentioned (@user) in a message. The advantage of this is that it easily handles multiple mentions. This works in the rewrite and async version of discord.py



    @commands.command()
    async def test(ctx):
    users = ctx.message.mentions
    await ctx.send(users[0].id)





    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%2f53255729%2fextract-discord-user-id-from-a-discord-message%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      The easier way is to use the converters that come with the discord.ext.commands extension. That can give you a User object, which has a User.id attribute:



      from discord.ext.commands import Bot
      from discord import User

      bot = Bot(command_prefix='!')

      @bot.command(pass_context=True)
      async def getid(ctx, user: User):
      await bot.say("Their ID is ".format(user.id))

      @bot.command(pass_context=True)
      async def callout(ctx, user: User):
      await bot.say(", someone is talking about you".format(user.mention))

      bot.run("token")





      share|improve this answer

























        0














        The easier way is to use the converters that come with the discord.ext.commands extension. That can give you a User object, which has a User.id attribute:



        from discord.ext.commands import Bot
        from discord import User

        bot = Bot(command_prefix='!')

        @bot.command(pass_context=True)
        async def getid(ctx, user: User):
        await bot.say("Their ID is ".format(user.id))

        @bot.command(pass_context=True)
        async def callout(ctx, user: User):
        await bot.say(", someone is talking about you".format(user.mention))

        bot.run("token")





        share|improve this answer























          0












          0








          0






          The easier way is to use the converters that come with the discord.ext.commands extension. That can give you a User object, which has a User.id attribute:



          from discord.ext.commands import Bot
          from discord import User

          bot = Bot(command_prefix='!')

          @bot.command(pass_context=True)
          async def getid(ctx, user: User):
          await bot.say("Their ID is ".format(user.id))

          @bot.command(pass_context=True)
          async def callout(ctx, user: User):
          await bot.say(", someone is talking about you".format(user.mention))

          bot.run("token")





          share|improve this answer












          The easier way is to use the converters that come with the discord.ext.commands extension. That can give you a User object, which has a User.id attribute:



          from discord.ext.commands import Bot
          from discord import User

          bot = Bot(command_prefix='!')

          @bot.command(pass_context=True)
          async def getid(ctx, user: User):
          await bot.say("Their ID is ".format(user.id))

          @bot.command(pass_context=True)
          async def callout(ctx, user: User):
          await bot.say(", someone is talking about you".format(user.mention))

          bot.run("token")






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 12 '18 at 14:16









          Patrick HaughPatrick Haugh

          27.7k82546




          27.7k82546























              0














              The simplest way would be using mentions. This generates a list of users, for all users that were mentioned (@user) in a message. The advantage of this is that it easily handles multiple mentions. This works in the rewrite and async version of discord.py



              @commands.command()
              async def test(ctx):
              users = ctx.message.mentions
              await ctx.send(users[0].id)





              share|improve this answer

























                0














                The simplest way would be using mentions. This generates a list of users, for all users that were mentioned (@user) in a message. The advantage of this is that it easily handles multiple mentions. This works in the rewrite and async version of discord.py



                @commands.command()
                async def test(ctx):
                users = ctx.message.mentions
                await ctx.send(users[0].id)





                share|improve this answer























                  0












                  0








                  0






                  The simplest way would be using mentions. This generates a list of users, for all users that were mentioned (@user) in a message. The advantage of this is that it easily handles multiple mentions. This works in the rewrite and async version of discord.py



                  @commands.command()
                  async def test(ctx):
                  users = ctx.message.mentions
                  await ctx.send(users[0].id)





                  share|improve this answer












                  The simplest way would be using mentions. This generates a list of users, for all users that were mentioned (@user) in a message. The advantage of this is that it easily handles multiple mentions. This works in the rewrite and async version of discord.py



                  @commands.command()
                  async def test(ctx):
                  users = ctx.message.mentions
                  await ctx.send(users[0].id)






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 13 '18 at 11:08









                  M.verdegaalM.verdegaal

                  7719




                  7719



























                      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.





                      Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                      Please pay close attention to the following guidance:


                      • 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%2f53255729%2fextract-discord-user-id-from-a-discord-message%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







                      Popular posts from this blog

                      Use pre created SQLite database for Android project in kotlin

                      Darth Vader #20

                      Ondo