【问题标题】:How do you use permission overwrites? Discord.py Rewrite您如何使用权限覆盖? Discord.py 重写
【发布时间】:2020-09-01 09:56:10
【问题描述】:

我一直在尝试为我的不和谐机器人创建静音命令和票证命令,但我无法解决权限覆盖问题。提前谢谢你

【问题讨论】:

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


    【解决方案1】:

    这是一个用于在服务器范围内(即机器人可以看到的每个文本频道)编辑特定成员权限的命令:

    示例

    import discord # if you get an error about discord not being defined, include this at the top
    
    @bot.command()
    async def mute(ctx, member: discord.Member):
        for channel in ctx.guild.text_channels:
            perms = channel.overwrites_for(member)
            perms.send_messages = False
            await channel.set_permissions(member, overwrite=perms, reason="Muted!")
        await ctx.send(f"{member} has been muted.")
    

    参考资料:

    【讨论】:

    • 但是如果我想用它来扮演角色呢?就像一个无声的角色
    • @enderelijas 一种方法是确保您的静音角色对于每个文本通道都有send_messages = False,您可以使用Member.add_roles() 给他们静音角色,这意味着他们会赢无法在您拥有send_messages = False 的任何频道中交谈
    • 所以我不做频道:discord.TextChannel 我做频道:Guild.text_channels?
    • 它说未定义的变量 Guild。我如何重新定义它?
    • 是的,我已经结束了这个问题,直到我需要进一步的帮助,谢谢!
    猜你喜欢
    • 2020-12-02
    • 2018-12-21
    • 2020-09-24
    • 2020-10-16
    • 2016-10-19
    • 2019-03-05
    • 2022-08-08
    • 1970-01-01
    • 2020-12-22
    相关资源
    最近更新 更多