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.
4 Réponses :
Une simple boucle for
devrait fonctionner.
member_count = 0; for member in ctx.guild.members: member_count += 1 await ctx.send(member_count)
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.
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é
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