从用户 id 获取用户名 |不和谐.py

Posted

技术标签:

【中文标题】从用户 id 获取用户名 |不和谐.py【英文标题】:Obtaining username from user id | discord.py 【发布时间】:2019-05-09 09:50:53 【问题描述】:

好吧,我一直在使用不和谐的数据库来获取队列中用户 id 的主要列表,尽管我在从用户 id 获取用户时遇到问题,因为它没有返回

举例


members = list(privateduos[matchid])
user = discord.User(id=int(members[0]))
await client.say("Say `test` " + str(user))
await client.wait_for_message(content="test", author=user)

这是输出

client.wait_for_message似乎也没有检测到代码中的消息作者,有什么解决办法吗?

【问题讨论】:

您使用的是什么版本的 discord.py?在异步分支中,所有 id 都是字符串。您应该使用Client.get_user_info 来获取用户对象,而不是手动创建User 我一直在使用 0.16.12(如果我没记错的话) 【参考方案1】:

使用await client.get_user_info(members[0])

从那里开始,(假设您已将返回值分配给user)您可以通过user.name 获取用户名。 (或获取有关user 的其他信息,如here 所述。)

【讨论】:

用过这个...user = await client.fetch_user(id)【参考方案2】:

方法 client.get_user_info 自上次迁移以来已弃用,您应该改用 Client.fetch_user()

详情见此链接:https://discordpy.readthedocs.io/en/latest/migrating.html

【讨论】:

我现在很了解重写文档,这个问题已经有 2 年多了,我不再需要它的答案。将此标记为该问题未来观众的最佳解决方案,无论如何谢谢

以上是关于从用户 id 获取用户名 |不和谐.py的主要内容,如果未能解决你的问题,请参考以下文章

discord.py 你能从 discord 标签中获取用户对象吗?

如何从 ID discord.py 中获取成员对象

如何从不和谐中获取用户输入并将其存储为变量以在方程式中使用?不和谐.py

通过用户名获取用户 ID。不和谐.JS

如何删除用户角色中的@everyone? (不和谐.py)

如何使用用户帐户获取/获取消息 (discord.py)