如何在discord.py中获取服务器中所有成员的列表?

时间:2021-03-25 06:38:07

标签: python python-3.x discord.py

这是我到目前为止的代码:

import discord
from discord.ext import commands
client = commands.Bot(command_prefix='--')
members = []
@client.command(aliases = [memberlist])
async def members(ctx):
    guild = ctx.guild
    for member in guild.members:
        members.append(member)
    await ctx.send(members)

此代码不起作用,因为脚本仅打印单个成员。我也试过使用 message.guild.members 但我遇到了以下错误(Python 3.9 btw):

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'str' object has no attribute 'guild'

有没有办法做到这一点? 感谢回答,谢谢!

1 个答案:

答案 0 :(得分:0)

您需要在代码中启用意图。

转到https://discord.com/developers/applications

选择您的应用程序/机器人 -> 机器人 -> 启用服务器成员意图并保存

然后使用下面的代码

## Server Properties
server:
  port: 6789
  compression.enabled: true
  max-http-header-size: 20000

grpc:
  port: 6790