我如何在不和谐频道中为列表中的作者覆盖权限?

时间:2021-03-11 14:19:07

标签: python list dictionary permissions discord.py

我正在尝试使用 discord.py 制作一个 discord bot,我在其中收到了一个命令,它将 author.id 附加到一个名为 的列表中>会员... Memberson = [] 我需要创建一个命令,为列表中的作者创建一个具有 Overwritepermission read_message: True 的频道.. 我该怎么做?我是否需要使用 dict 来综合列表?如果是,我该怎么做?请帮助.. 我是这样尝试的,但它以错误告终,因为 Memberson 不是公会的属性 :(

overwrites = {
    guild.Memberson: discord.PermissionOverwrite(read_messages=True),
    guild.me: discord.PermissionOverwrite(read_messages=True)
}

channel = await guild.create_text_channel('test', overwrites=overwrites)```

2 个答案:

答案 0 :(得分:0)

编辑: 似乎覆盖不适用于列表。 看看我设法做到的其他答案:>

答案 1 :(得分:0)

所以我用 channel.set_permissions 管理了这个。

试试这个;

    overwrites = {
        ctx.guild.me: discord.PermissionOverwrite(read_messages=True),
        ctx.guild.default_role: discord.PermissionOverwrite(read_messages=False)
    }
    channel = await ctx.guild.create_text_channel('test', overwrites=overwrites)

    for i in range(len(Memberson)):
        user = bot.get_user(Memberson[i])
        await channel.set_permissions(user, read_messages=True)