如何创建权限覆盖以使discord.py中的用户静音?

时间:2020-06-05 23:28:29

标签: python discord.py discord.py-rewrite

我不想使用静音角色,而是希望能够创建权限覆盖来更改服务器中每个通道中用户的权限,使其不能说任何话。但是,我不知道如何执行此操作,因此有人知道创建权限替代的方法,以便可以使用discord.py机器人使用户静音吗? notsobot permission overrides

上面是NotSoBot这样做的一个示例,它使用户静音,我该如何复制呢?

1 个答案:

答案 0 :(得分:0)

您可以明确拒绝发送消息的权限给分配给它的用户/角色。仅在其他角色中明确接受了“发送消息”权限时,此方法才有效。我目前使用的代码会检查您是否有规则__muted__,如果有则删除您的消息:

@client.event
async def on_message(message):
    if message.guild:
        if '__muted__' in [role.name for role in message.author.roles]:
            try:
                await message.delete()
                await message.author.send(f'\u274c You are muted in **{message.guild.name}**!')
                return
            except discord.errors.Forbidden:
                pass