Pep*_*eBz 2 python discord discord.py
我正在尝试创建一个不和谐的机器人,它创建一个类别并设置角色和用户的权限,以用户 ID 作为参数:
for x in range(2, len(args)):
member= client.get_user(int(args[x]))
await message.guild.categories[-1].set_permissions(member, send_messages = True)
Run Code Online (Sandbox Code Playgroud)
其中 args 是包含命令、类别名称和用户 ID 的字符串数组。用法应该是:
!create category-name 0000000 1111111
Run Code Online (Sandbox Code Playgroud)
我对此有一些问题,因为就像机器人看不到服务器的成员一样,他可以添加的唯一用户是我,如果在第一个参数中指定,则服务器的所有者(在我的示例中为 000000)。如果我输入其他人的 ID,机器人不会在该类别中添加该用户的权限。我发现机器人可能看不到其他用户,事实上,如果我输入以下行:
print(message.guild.members)
Run Code Online (Sandbox Code Playgroud)
它只会将机器人打印为成员,
打印此内容: [<Member id=762749337700007946 name='RoomBzot' discriminator='1334' bot=True nick=None guild=>]
我不知道为什么它统计了会员但看不到其他用户,我该怎么办?
小智 12
由于derw链接的答案不再可用;
正如OP所示,我设法通过实例化不和谐机器人客户端来解决这个问题,如下所示:
intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)
Run Code Online (Sandbox Code Playgroud)
此外,我必须在 Discord 开发者门户中的机器人设置下启用“服务器成员意图”特权网关意图:
| 归档时间: |
|
| 查看次数: |
8068 次 |
| 最近记录: |