如何通过用户名获取用户信息?

时间:2021-05-12 18:43:11

标签: python discord discord.py

我试图向来自不和谐公会的人发送消息。这背后的原因是因为这个公会被黑了,很多成员被踢了。我正在考虑的一个解决方案是:将每个用户从审计日志中踢到一个 json 中,读取这个 json 并使用用户名将他们的信息作为 <class 'discord.user.User'> 获取,然后我可以使用这个数据类型向他们发送一个消息将他们带回来(user_info.send(msg))。

出于这个原因,我想知道是否可以使用用户名 (<class 'discord.user.User'>) 以 Mycustomname#1234 的形式获取用户信息。

将类似于:

@bot.commands(name=user_info)
async def get_user_info(ctx, user_name, msg):
    ...
   await user_class.send(msg)

# Input/output of the user
input: Mycustomname#1234
output: <User id=113112246122784145 name='Mycustomname' discriminator='1234' bot=False>

1 个答案:

答案 0 :(得分:0)

您可以通过 discord.utils

获取
user = discord.utils.get(bot.users, name="Mycustomname", discriminator="1234")

user = discord.utils.find(lambda u: str(u) == "Mucustomname#1234", bot.users)