discord.py-通过ID提及没有显示名称

时间:2020-10-05 18:22:13

标签: google-sheets discord discord.py discord.py-rewrite gspread

我正在使用重写和gspread通过存储用户ID和得分来更新“前16名”排行榜。用于创建/更新排行榜的公式通过根据用户的得分来参考他们的位置来将其ID放置在单元格中。因此,每个单元格的结构如下:

 1st place: <"@230579325375837234">

然后我将整个列拉出来以编辑现有的嵌入:

lb = sheet13.col_values(9)

一切正常-我的问题是,编辑后的嵌入内容并不总是将ID转换为名称。有些会转换为名称,有些会提到ID版本,而不是提及用户名。导致出现如下所示的嵌入内容:

 1st place: @adisplayname
 2st place: <@230579325375837234>
 3rd place: @anotherdisplayname
 4th place: <@573856332907428873>
 5th place: <@230579325375837234>
 6th place: @thirddisplayname

有没有办法确保提到用户名/显示名,而不是ID?

我正在考虑提取用于更新嵌入的单个单元格,而不是整个列,并将它们定义为单个变量,以通过display_name提及用户;而不是尝试提及原始ID本身,尽管我不确定此解决方案是否最干净?

1 个答案:

答案 0 :(得分:1)

多亏了derw,我运行了whois命令来检查成员是否确实在服务器中,并且答复中包含一个!在ID前面。这似乎已经解决了我的问题。

1st place: <@!23057932537583723>

所有提及现在都有效:)