python - Discord.py - 无法获取频道成员
问题描述
print(message.guild.member_count) # 7
print(len(message.guild.members)) # 1
for member in message.guild.members:
print(str(member)) # the bot itself
我正在尝试获取 Discord 频道的成员,但它只列出了机器人本身。它曾经可以工作,我根本没有更改代码,但突然没有了。我给了机器人管理员权限,不知道出了什么问题。
解决方案
您需要做两件事来利用Intents 数据类,并且您的代码将按预期工作。
- 更新开发人员门户以启用您的机器人的成员操作。
- 将以下代码添加到您的机器人:
intents = discord.Intents.default()
intents.members = True
bot = Bot(command_prefix=list(PREFIX), intents=intents)
请参阅我的成员去哪儿文档。
推荐阅读
- javascript - 如何删除类中的事件侦听器?
- jmeter - 通过 Jemeter 使用参数化命令运行 Executable 的多次执行
- java - 有人能解释一下为什么只有字符串 s4 的打印结果是 10bab 吗?
- amazon-web-services - 如何从我的步骤函数工作流中调用动态活动?
- javascript - 如何从对象中获取名称并将其分配给新创建的元素?
- mysql - AWS Athena 查询仅获取数组中的一个对象
- mysql - 反向累积和 - MySQL
- assembly - 如何从程序集中打印浮点数?
- javascript - 如何将嵌套数组映射到 React 中的列表中?
- c# - 使用 MSBuild 时加载的 nuget 包与使用 Visual Studio 构建时加载的不同