Sorry, my english is not that good. I have a problem: my own discord bot in python should return all members (.nick, not the discord login-in username) on a specific discord server. But at the moment my discord bot, on a normal chanel (text-chanel, the bot has all available permissions), returns me only an empty list. Only in a Voice-Chanel it returns a members-list.
So Jungs, für unsere Deutschen: wir brauchen eine Liste aller Members mit ihren jeweiligen Nicknamen auf einem Discord-Server. Wir haben bereits versucht einen Member zu erstellen, jedoch klappt es nicht so ganz, da wir entweder keinen gültigen Member erzeugen (Rückgabewert = None) oder kein Nick angezeigt wird und wir nur einen User rausbekommen. Problem ist auch, sobald wir versuchen über Text-Channel die Members abzurufen, bekommen wir nur eine leere Liste aller Members, aber innerhalb eines Voice-Channels bekommen wir eine gültige Liste aller Members, die sich zu diesem Zeitpunkt in dem Voice-Channel befinden.
Sorry, erklären ist auch nicht unsere Stärke. Danke für Eure Verständnis!
Maybe you tried to use .users[i].name? for eg.
client = discord.Client()
for i in range(len(client.users)):
print(client.users[i].name)
A list consisting of strings with users nicknames if they exist, else user names is easy to create with
names = [x.display_name for x in guild.members]
in case you want more data with it, you can do something one the lines of
data = [{"id": x.id, "name": x.name, "nick": x.nick} for x in guild.members]
which would give you a list of dictionaries containing the user name, id and nick (if exists, else that will be None
)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.