簡體   English   中英

如何從用戶id discord.py獲取會員object

[英]How to get Member object from user id discord.py

我想從他們的 Id 中獲取用戶的昵稱。 我有以下代碼:

id = 235088799074484224 # User Id
member2 = bot.guilds[guild_id].get_member(id)
print(member2.nick)

但是代碼報錯:

Traceback (most recent call last):
  File "C:\Users\Vlad\PycharmProjects\untitled\venv\lib\site-packages\discord\client.py", line 333, in _run_event
    await coro(*args, **kwargs)
  File "C:/Users/Vlad/PycharmProjects/untitled/static/bot.py", line 61, in on_message
    messages = await clean_up_messages(messages)
  File "C:/Users/Vlad/PycharmProjects/untitled/static/bot.py", line 21, in clean_up_messages
    nick = await replace_nick(i.author.id)
  File "C:/Users/Vlad/PycharmProjects/untitled/static/bot.py", line 15, in replace_nick
    return member2.display_name  # or .nick
AttributeError: 'NoneType' object has no attribute 'display_name'

該錯誤似乎來自member2始終為None的事實。 無論我使用什么 id,它都是None
我已經閱讀了文檔並且bot.guilds[guild_id]是正確的,但是get_member() function 似乎導致了錯誤。
我該如何解決?

在新版本的 discord.py(1.5.x) 中,有一些關於Intents的更新。 意圖就像權限,您必須定義它才能獲取頻道、成員(如guild.get_member() )和一些事件等。您必須在定義client = discord.Bot(prefix='')之前定義它。

import discord

intents = discord.Intents().all()
client = discord.Bot(prefix='', intents=intents)

如果你想獲得更多關於 Intents 的信息,你可以看看API 參考資料

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM