簡體   English   中英

Discord.py - 無法獲取頻道成員

[英]Discord.py - unable to get members of a channel

print(message.guild.member_count)  # 7
print(len(message.guild.members)) # 1
for member in message.guild.members:
    print(str(member))  # the bot itself

我正在嘗試獲取 Discord 頻道的成員,但它只列出了機器人本身。 它曾經可以工作,我根本沒有更改代碼,但突然沒有。 我給了機器人管理員權限,不知道怎么回事。

您需要使用Intents 數據類做兩件事,您的代碼將按預期工作。

  1. 更新開發人員門戶,為您的機器人啟用成員操作。

在此處輸入圖片說明

  1. 將以下代碼添加到您的機器人:
intents = discord.Intents.default()
intents.members = True

bot = Bot(command_prefix=list(PREFIX), intents=intents)

請參閱我的成員去哪兒文檔

如果您想獲取公會中所有成員的數量和名稱,請使用guild.fetch_members()

@client.event
async def on_ready():
    guild = client.get_guild(123456789)
    member_count = guild.member_count
    print(f"Total member count: {member_count}")
    async for member in guild.fetch_members(limit=150):
        print(member.name)

還要確保您按照上面所說的@DaveStSomeWhere 設置您的意圖。

暫無
暫無

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

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