【发布时间】:2022-12-30 12:22:03
【问题描述】:
当我尝试获取用户的显示名称时,它会返回他们的 Discord 名称。
无论我尝试什么方法,display_name 都不会出现在返回列表中。
只是为了理解它,如果用户提及显示名称中带有“no ping”的人,它将遍历服务器中的所有频道以查找最近 10 分钟内提及的内容。
for i in range(len(message.mentions)): # Unimportant, just for clarity
if "no ping" in message.mentions[i].display_name.lower() or \ # Unimportant, just for clarity
"unavailable" in message.mentions[i].display_name.lower() or \ # Unimportant, just for clarity
"unavailable" in message.mentions[i].display_name.lower(): # Unimportant, just for clarity
counter = 0
text_channel_list = []
for TextChannel in message.guild.channels:
if str(TextChannel.type) == 'text':
text_channel_list.append(TextChannel.id)
prev = datetime.datetime.now() - datetime.timedelta(minutes=10)
for i in range(len(text_channel_list)):
channel = client.get_channel(text_channel_list[i])
msg = await channel.history(limit=None, after=prev).flatten()
for message2 in msg:
if message2.author == message.author:
for i in range(len(message2.mentions)):
print(message2.mentions[i].display_name) # This will return the user's Discord name, I want it to return the Server display name.
if "no ping" in message2.mentions[i].display_name.lower():
counter += 1
【问题讨论】: