【问题标题】:Trying to fetch all members in a guild(discord.py rewrite)试图获取公会中的所有成员(discord.py 重写)
【发布时间】: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.

【问题讨论】:

    标签: discord.py


    【解决方案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 中的代码示例。
    猜你喜欢
    • 2020-11-11
    • 2021-03-14
    • 2021-12-17
    • 1970-01-01
    • 2021-04-24
    • 2019-12-29
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    相关资源
    最近更新 更多