【问题标题】:Discord Python Rewrite - Move channelDiscord Python Rewrite - 移动频道
【发布时间】:2021-01-05 02:24:38
【问题描述】:

是否可以在 discord.py 上移动频道?我正在制作一个克隆和删除频道的 nuke 命令,并且它有效,但现在我需要找出如何将频道移动到原始位置,如果有代码/文档,请告诉我一个例子。谢谢

编辑: 我有一个有效的编辑,但它总是把它拖到顶部,我需要它,所以它会在它被击中之前将通道拖到相同的位置。

我目前拥有的代码

@client.command()
@commands.has_permissions(manage_channels=True)
async def nuke(ctx):

    channel = ctx.channel

    await channel.clone()
    await channel.delete()
    await channel.edit(position=0, sync_permissions=True)
    return

【问题讨论】:

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


    【解决方案1】:

    您可以使用await channel.edit(position=0) 更改位置。在这种情况下,由于指定了0,通道将被移动到第一个位置。

    如果您想将其移动到已删除频道的位置,则可以查看channel.position

    @client.command()
    @commands.has_permissions(manage_channels=True)
    async def nuke(ctx):
        
        channel = ctx.channel
        channel_position = channel.position
        
        new_channel = await channel.clone()
        await channel.delete()
        await new_channel.edit(position=channel_position, sync_permissions=True)
        return
    

    【讨论】:

    • 我的意思是,就像它将频道移动到原始位置示例:频道在中间,我核爆了那个频道,然后它会立即将频道移回原位,也就是中间。
    • 检查通道位置,然后在删除它并创建替换后,编辑新通道以获取相同的位置。如果您想要特定代码,那么我建议您编辑您的问题以显示您已经拥有的内容。
    • 它不会移动频道;-;
    • 抱歉,代码正在编辑已删除的channel。现已修复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2019-03-25
    • 2021-01-05
    相关资源
    最近更新 更多