python 从用户名获取不一致的用户ID

tp5buhyn  于 2023-03-11  发布在  Python
关注(0)|答案(3)|浏览(151)

如果我有一个用户的Discord名称和鉴别符作为一个字符串(例如ExampleUser#1234),我如何从它得到他们的用户ID?我已经找到了get_user(id),但它从ID返回一个用户对象。

cunj1qz1

cunj1qz11#

在一条线上

discord.utils.get(client.get_all_members(), name="ExampleUser", discriminator="1234").id

注意末尾的.id,它给出了那个人的ID。另外,对于鉴别器部分,不要包含散列(#)

ssgvzors

ssgvzors2#

正如Sam Rockett的精彩回答所述(Finding a User ID by Discord Discrim via Python (1st ans)),您可以尝试:

p = client.get_all_members()
found_members = filter(lambda m: m.discriminator==your_discrim, p)
member = discord.utils.get(found_members, name=your_username)
id = member.id

注:此代码片段仅适用于查找与机器人共享服务器的成员。要查找不与机器人共享服务器的用户,您必须已有ID。

vs3odd8k

vs3odd8k3#

我会告诉你最好的方法来做到这一点。你必须搜索会员用户和匹配的用户名与会员用户。

message.guild.members.find(m => m.user.username === 'USERNAME').user.id

https://thediscordbots.blogspot.com/2019/10/what-are-discord-bots-really-and-which.html

相关问题