Salut les gars, je suis en train d'écrire à un robot discord et je suis tombé sur cette erreur en essayant d'extraire tous les membres d'un serveur avec la commande! Members dans l'événement on_message
Elif message.content.startswith('!members'):
x = server.Server.members
for member in x:
print(member)
Je veux que cette commande extrait tous les membres et les affiche dans la console, mais l'erreur suivante s'affiche: TypeError: l'objet 'property' n'est pas itérable
quand je tape la commande dans le canal discord. Quelqu'un pourrait-il m'aider à dresser une liste de tous les membres de la chaîne que je pourrais utiliser ultérieurement?
Vous avez besoin d'une instance de serveur pour obtenir la liste des membres.
En supposant que ce code apparaisse dans on_message(message)
, vous devriez pouvoir changer votre
x = server.Server.members
à
x = message.server.members
Notez que l'utilisation de Server
avec un S majuscule renvoie la définition de la classe, tandis que l'utilisation de la propriété server
(minuscules) du message permet de récupérer une instance de Server.
Elif message.content.startswith('!members'):
x = message.server.members
for member in x:
print(member.name) # you'll just print out Member objects your way.
Je pense que vous pouvez le faire pour que le code soit plus court
Elif message.content.startswith('!members'):
print(", ".join([member.name for member in message.server.members])) #You do the list with names of roles and print this without cycle