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

Posted

技术标签:

【中文标题】discord.py 你能从 discord 标签中获取用户对象吗?【英文标题】:discord.py can you get a user object from discord tag? 【发布时间】:2021-04-19 00:25:15 【问题描述】:

我能否从不和谐标签中获取不和谐用户对象,例如:discorduser#0001?

【问题讨论】:

你能显示一些代码吗? ***.com/questions/54499864/… @gtbell511 我在该线程上看到的是如何从他们的不和谐 id 而不是他们的不和谐标签中获取用户对象,这是我想要做的,但是我可能错了 @Nurqm 我还没有任何代码,因为我想弄清楚如何从不和谐标签中获取对象我知道如何使用 id user = await client.fetch_user([userid) 来做到这一点,但我试图从标签用户#0001 那里得到它我不知道我会怎么做。 【参考方案1】:

您可以使用 discord.ext.commands.MemberConverter 将 id、姓名、昵称、提及和 name#discriminator 转换为 discord.Member 对象。

from discord.ext.commands import MemberConverter

converter = MemberConverter()
member = await converter.convert(ctx, 'discorduser#0001')

【讨论】:

【参考方案2】:

discord.py documentation 描述了discord.Client 类的方法get_user(id)

这可能可以添加到Github page for discord.py 上的简单示例中,如下所示(未测试):

import discord

class MyClient(discord.Client):
    async def on_ready(self):
        print('Logged in as')
        print(self.user.name)
        print(self.user.id)
        print('------')
        self.get_user(id)

intents = discord.Intents.default()
intents.members = True

client = MyClient(intents=intents)
client.run('token')

【讨论】:

以上是关于discord.py 你能从 discord 标签中获取用户对象吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 discord.py 中删除机器人的消息

如何使用 Discord.py 重写更改机器人用户名/头像?

discord.py和discord.py的区别[voice]

discord.Embed 不被视为嵌入 discord.py

Discord嵌入图像在discord.py中不起作用

Discord 机器人帮助命令 [discord.py]