从用户 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 标签中获取用户对象吗?