Hi guys I am writing a discord bot and I came across this error when trying to pull all the members from a server with the command !members in on_message event:
<
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.
I think you can do it so that the code is shorter
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
You need an instance of a server to get the members list from it.
Assuming this code appears in on_message(message)
, you should be able to change your
x = server.Server.members
to
x = message.server.members
Note that using Server
with a capital S will return the class definition, whereas using the server
property (lowercase s) from the message will retrieve an instance of Server.
If you're using a version >= 1.0.0, this will be
x = message.guild.members
instead.