如何根据名称或提及来获得用户

时间:2019-07-12 08:50:19

标签: python discord.py

我正在设置一个机器人,当有人输入命令后跟用户名或提及用户时,我需要获取用户对象。我不需要这两个都可以工作,只需一个就可以。

我看到您可以使用带id的client.get_user,但是我不希望输入命令的人员不得不处理获取ID的问题,而是希望他们仅使用用户名或提及用户。我已经有命令部分在工作,我只需要能够获得用户,并且想知道是否有诸如get_user之类的东西使用用户名或提及用户。

1 个答案:

答案 0 :(得分:0)

嗯,有2种解决方案可供选择(其他可能会找到更多解决方案)

  1. 获取用户对象(用户无需发送其ID,bot即可发送)

    user = discord.utils.get(ctx.guild.members, id=ctx.author.id)
    

    然后发送一条消息:

    await ctx.send(f"Hello {user.mention}")
    
  2. 只需使用ctx.author(比第一个解决方案容易得多)

    await ctx.send(f"Hello {ctx.author.mention}!")