-1
votes

Comment obtenir le nombre de membres dans la réécriture discord.py?

Je voulais faire une commande pour afficher le nombre de membres mais cela ne fonctionne pas

c'est ce que j'ai:

@bot.command(name='membercount')
async def membercount(ctx):
    await ctx.send(len(guild.member_count))

et Module 'discord.guild' has no 'member_count' member l'erreur que j'obtiens: Le Module 'discord.guild' has no 'member_count' member

J'ai essayé de chercher sur Internet mais je n'ai pas trouvé d'option de travail.


0 commentaires

4 Réponses :


1
votes

Une simple boucle for devrait fonctionner.

member_count = 0;

for member in ctx.guild.members:
    member_count += 1
await ctx.send(member_count)


0 commentaires

3
votes

Bien que l'exemple de Ron fonctionne, ce n'est pas une façon très élégante considérant que ctx.guild.members est juste une liste, ce qui signifie que vous pouvez utiliser len() à ce sujet en tant que tel:

member_count = len(ctx.guild.members) # includes bots

true_member_count = len([m for m in ctx.guild.members if not m.bot]) # doesn't include bots

N'oubliez pas non plus que si une réponse a résolu votre problème, vous devez la marquer comme "acceptée" avec cette coche à côté d'elle, afin de montrer aux autres utilisateurs venant des moteurs de recherche à cette question, ce qui a fonctionné pour vous.


0 commentaires

1
votes

Activez le mode développeur dans Discord (Paramètres utilisateur -> Accessibilité) puis faites un clic droit sur l'icône du serveur et cliquez sur Copier l'ID, puis tapez cette ligne de code après async def: guild = client.get_guild(paste the copied ID here) need len (guild.member_count) il renverra le nombre de chiffres du nombre de membres. Utilisez uniquement guild.member_count.

J'espère que cela a aidé


0 commentaires

1
votes

Tu peux juste faire

@c.command(aliases=["mc"])

async def member_count(ctx):

    a=ctx.guild.member_count
    b=discord.Embed(title=f"members in {ctx.guild.name}",description=a,color=discord.Color((0xffff00)))
    await ctx.send(embed=b)

C'est le moyen le meilleur et le plus simple à mon avis


0 commentaires