简体   繁体   English

从 Discord 上的每个用户获取服务器显示昵称 - Python Api Bot

[英]get server-display-nickname from every User on Discord - Python Api Bot

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.我有一个问题:我自己在 python 中的不和谐机器人应该返回特定不和谐服务器上的所有成员(.nick,而不是不和谐登录用户名)。 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.但目前我的不和谐机器人,在一个普通的 chanel 上(text-chanel,机器人拥有所有可用的权限),只返回一个空列表。 Only in a Voice-Chanel it returns a members-list.只有在 Voice-Chanel 中,它才会返回成员列表。

So Jungs, für unsere Deutschen: wir brauchen eine Liste aller Members mit ihren jeweiligen Nicknamen auf einem Discord-Server.所以 Jungs, für unsere Deutschen: wir brauchen eine Liste aller Members mit ihren jeweiligen 昵称 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. Wir haben bereits versucht einen 成员 zu erstellen, jedoch klappt es nicht so ganz, da wir entweder keinen gültigen 成员 erzeugen (Rückgabewert = None) oder kein Nick angezeigt wird und wir nur einkomen User 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.问题是, 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 the dem Voice-Channel。

Sorry, erklären ist auch nicht unsere Stärke.对不起,erklären ist auch nicht unsere Stärke。 Danke für Eure Verständnis! Danke für Eure Verständnis!

Maybe you tried to use .users[i].name?也许您尝试使用 .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 )这会给你一个包含用户名、id 和 nick 的字典列表(如果存在,否则将为None

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM