如何让此命令显示机器人正在服务的用户数量?
How do I make this command display how many users the bot is serving?
我正在尝试创建一个命令来显示该机器人目前正在服务的用户数量。到目前为止我有这个但是每当我使用命令它只是说'1'。我想知道是否有其他方法可以做到这一点。
@client.command()
async def memberserved(ctx):
members_set = set()
for guild in client.guilds:
for member in guild.members:
members_set.add(member)
members = len(members_set)
membersserved = members
emb = discord.Embed(title="This bot is serving:",description=f"{membersserved} Members",color=discord.Color((0xffff00)))
await ctx.send(embed=emb)
确保 intents.members
已启用,如果它仍然不起作用,您可以尝试以下操作:
members = []
for guild in bot.guilds:
members.extend(guild.members)
members_set = set(members)
members_served = len(members_set)
要在您的代码中启用意图:
intents = discord.Intents.default()
intents.members = True
bot = commands.Bot(command_prefix='', intents=intents)
参考:
我正在尝试创建一个命令来显示该机器人目前正在服务的用户数量。到目前为止我有这个但是每当我使用命令它只是说'1'。我想知道是否有其他方法可以做到这一点。
@client.command()
async def memberserved(ctx):
members_set = set()
for guild in client.guilds:
for member in guild.members:
members_set.add(member)
members = len(members_set)
membersserved = members
emb = discord.Embed(title="This bot is serving:",description=f"{membersserved} Members",color=discord.Color((0xffff00)))
await ctx.send(embed=emb)
确保 intents.members
已启用,如果它仍然不起作用,您可以尝试以下操作:
members = []
for guild in bot.guilds:
members.extend(guild.members)
members_set = set(members)
members_served = len(members_set)
要在您的代码中启用意图:
intents = discord.Intents.default()
intents.members = True
bot = commands.Bot(command_prefix='', intents=intents)
参考: