【问题标题】:How to delete the channels of a category deleted by the user on Discord?如何删除用户在 Discord 上删除的类别的频道?
【发布时间】:2021-01-12 12:22:55
【问题描述】:

我想使用 python 删除用户在 Discord 上删除的类别的所有频道。 我刚刚在_guild_channel_delete(channel) 上找到了这个函数,但它不起作用,因为在删除类别后找到了频道。

提前致谢。

【问题讨论】:

  • 你能解释更多吗?你已经尝试了什么?
  • 是的,当然!我正在使用这个功能:@commands.Cog.listener("on_guild_channel_delete") async def on_guild_channel_delete(self,channel): if type(channel) == CategoryChannel and channel.name == "CATEGORY NAME": channels = channel.channels for chan in channels: await chan.delete() 但是这个并没有删除已删除类别的频道,因为频道已经空闲。我想要的是按用户删除特定已删除类别的频道
  • 您会在自己的服务器中使用该机器人还是将其作为公共机器人?

标签: discord categories discord.py channels


【解决方案1】:

如果您要在自己的服务器上使用该机器人,并且您的所有频道都属于任何类别,您可以使用这种方式:

@client.event
async def on_guild_channel_delete(channel):
    for chn in channel.guild.channels:
        if not chn.category and not isinstance(chn, discord.channel.CategoryChannel):
            await i.delete()

这样,当一个类别或频道被删除时,它将删除所有没有类别的频道。这不是一个完美的解决方案,但据我所知,这是做到这一点的唯一方法。

【讨论】:

猜你喜欢
  • 2021-08-28
  • 2020-12-06
  • 2020-04-18
  • 2021-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 2021-01-11
相关资源
最近更新 更多