如何让此命令显示机器人正在服务的用户数量?

How do I make this command display how many users the bot is serving?

我正在尝试创建一个命令来显示该机器人目前正在服务的用户数量。到目前为止我有这个但是每当我使用命令它只是说'1'。我想知道是否有其他方法可以做到这一点。

@client.command()
async def memberserved(ctx):
    members_set = set()
    for guild in client.guilds:
        for member in guild.members:
            members_set.add(member)
    members = len(members_set)
    membersserved = members
    emb = discord.Embed(title="This bot is serving:",description=f"{membersserved} Members",color=discord.Color((0xffff00)))
    await ctx.send(embed=emb)

确保 intents.members 已启用,如果它仍然不起作用,您可以尝试以下操作:

members = []

for guild in bot.guilds:
    members.extend(guild.members)

members_set = set(members)
members_served = len(members_set)

要在您的代码中启用意图:

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

bot = commands.Bot(command_prefix='', intents=intents)

参考: