Discord.py 服务器锁定命令

时间:2021-05-15 14:31:01

标签: discord.py

我想添加一个命令来锁定整个服务器并恢复锁定。它有效,但它将所有通道发送消息的权限更改为 False/True。我在问是否有办法将权限设置为中性,并且如果频道权限已经为 false 或 true,则不更改频道权限。这是我当前的代码:

#Lockdown
@client.command()
@commands.has_permissions(manage_channels=True)
async def lockdown(ctx):
    for channel in ctx.guild.channels:
        await channel.set_permissions(ctx.guild.default_role, send_messages=False)
    await ctx.send('The server is now on lockdown!')


#unlockdown
@client.command()
@commands.has_permissions(manage_channels=True)
async def unlockdown(ctx):
    for channel in ctx.guild.channels:
        await channel.set_permissions(ctx.guild.default_role, send_messages=True)
    await ctx.send('Server is now unlocked')

1 个答案:

答案 0 :(得分:0)

是的,您可以,passing None 将删除频道的覆盖,使其恢复正常。