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