NetherMoon
NetherMoon

Reputation: 331

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

I am trying to make a command that displays how many users the bot is serving as of now. I have this so far but whenever I use the command it just says '1'. I would like to know if there is any alternative way to do this.

@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)

Upvotes: 0

Views: 41

Answers (1)

Łukasz Kwieciński
Łukasz Kwieciński

Reputation: 15689

Make sure intents.members are enabled, if it still doesn't work you can try with the following:

members = []

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

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

To enable the intents in your code:

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

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

Reference:

Upvotes: 1

Related Questions