试图获取公会中的所有成员(discord.py 重写)

Posted

技术标签:

【中文标题】试图获取公会中的所有成员(discord.py 重写)【英文标题】:Trying to fetch all members in a guild(discord.py rewrite) 【发布时间】:2021-08-18 09:09:51 【问题描述】:

这是我的代码:

@bot.command()
async def list(ctx):
  guild = ctx.guild
  members = '\n - '.join([member.name for member in guild.fetch_members])
  await ctx.send(f'Guild Members:\n - members')

我也尝试过 guild.members 但不起作用,这是错误

The Command raised an exception: TypeError: 'method' object is not iterable. Please, use a valid command.

【问题讨论】:

【参考方案1】:

list是python中的关键字,尽量不要用在自定义函数中。

这是您可以用来获取具有序列号的成员的代码:

@bot.command()
async def memberlist(ctx):
    members = ''
    for index, member in enumerate(ctx.guild.members, start=1):
        members += f'index) member\n'
    await ctx.send(members)

【讨论】:

嗨!我试过了,但它只列出了机器人,这发生在我身上吗?无论如何要解决这个问题? 它对我有用,你能告诉我你现在遇到了什么错误吗? @PandaDev 确保您已在您的代码中和通过 Discord 的 Web 界面启用了 members intent。 @CrazyChucky 如何通过我的代码启用它 点击链接,查看 A Primer to Gateway Intents 中的代码示例。

以上是关于试图获取公会中的所有成员(discord.py 重写)的主要内容,如果未能解决你的问题,请参考以下文章

如何为加入 Discord 公会的新成员自动分配角色?

(discord.py) 获取特定语音频道中所有成员的列表

如何从特定频道狙击消息(discord.py)

discord.py:MySQL '光标未连接'

使用 discord.py 获取不和谐服务器中所有成员的列表时出现问题

如何使用新的 discord.py 版本获取不和谐服务器中所有成员的列表?