【问题标题】:Adding Channel Overwrites for user in Discord.py在 Discord.py 中为用户添加频道覆盖
【发布时间】:2021-02-08 05:24:45
【问题描述】:

我正在尝试为我的机器人创建频道覆盖,以便它可以在频道中发送消息,指出频道已为@everyone 角色锁定

    @commands.command()
    @has_permissions(manage_channels=True)
    async def lock(self, ctx):
        member = discord.Member.id(712885407993561169)
        await ctx.channel.set_permissions(ctx.guild.default_role, send_messages=False, read_messages=False)
        await ctx.channel.set_permissions(member, send_messages=True, read_messages=True)
        await ctx.send(':greentick: Locked down ' + ctx.channel.name)

【问题讨论】:

  • 您遇到了什么样的错误?如果您没有收到任何错误,这段代码的结果是什么?您希望它做什么?

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


【解决方案1】:

你可以试试:

    @commands.command()
    @commands.has_permissions(manage_channels=True)
    async def lock(self, ctx: commands.Context):
        overwrites = ctx.channel.overwrites_for(ctx.guild.default_role)
        overwrites.read_messages, overwrites.send_messages = False, False
        await ctx.channel.set_permissions(ctx.guild.default_role, overwrite=overwrites)
        overwrites = ctx.channel.overwrites_for(ctx.me)
        overwrites.send_messages, overwrites.read_messages = True, True
        await ctx.channel.set_permissions(ctx.me, overwrite=overwrites)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-15
    • 2021-04-11
    • 2019-08-11
    • 1970-01-01
    • 2018-04-04
    • 2021-03-30
    • 2017-09-20
    • 2023-04-04
    相关资源
    最近更新 更多