![](/img/trans.png)
[英]Discord.py get names of all guilds bot is in into an 1 embed/message
[英]Discord.py bot only displaying 1 member in all guilds
我有我的 Discord 機器人設置以在其存在時顯示成員計數,但它只顯示用戶計數的數字 1,但我在服務器中有 2 個成員可以看到機器人。 我在應用程序儀表板上啟用了狀態和成員意圖。
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.members = True
intents.presences = True
bot = commands.Bot(command_prefix="!", intents=intents, activity=discord.Activity(
type=discord.ActivityType.watching, name=f"{len([discord.client.Guild.members])} users"), status=discord.Status.do_not_disturb)
bot.run("")
事實上,無論它可以訪問多少個成員,它都將始終顯示1
。
看看這一行:
name=f"{len([discord.client.Guild.members])} users"
這會將顯示的用戶計數設置為[discord.client.Guild.members]
的長度。 其長度為 1,因為您剛剛創建了一個新列表,其中所有成員都是第一個元素。
但是, discord.client.Guild.members
不是獲取成員數量的方法。 (我什至不認為這些名字存在。)
要正確獲取每個公會中的所有成員,您需要遍歷客戶端所在的每個公會並計算每個成員的數量:
member_count = sum([guild.member_count for guild in bot.guilds])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.