退出频道时如何删除频道房间 discord.py

Posted

技术标签:

【中文标题】退出频道时如何删除频道房间 discord.py【英文标题】:how can i delete the channel room when i went out the channel discord.py 【发布时间】:2021-12-21 03:38:00 【问题描述】:
@bot.event
async def on_voice_state_update(member, before, after):
    if before.channel is None and after.channel is not None:
        await member.guild.system_channel.send(
            " into the voice room".format(member.nick)
        )
        channel = await member.guild.create_text_channel('123')

    if before.channel is not None and after.channel is None:
        await member.guild.system_channel.send(
            " out of the voice room".format(member.nick)
        )
        channel = await member.guild.delete_text_channel('123')

当我进入语音频道时,机器人会创建一个文本频道 如果我离开了语音频道,机器人应该删除 文字频道

但是当我出去的时候,bot 并没有删除频道 如何修复此代码?

【问题讨论】:

【参考方案1】:

.delete_text_channel() 无效,必须使用 .delete() 代替

channel = discord.utils.get(member.guild.channels, name="123")
# If channel doesn't exits or channel is not TextChannel
if type(channel) != discord.channel.TextChannel or channel is None: 
    print("No channel found!")
    return
await channel.delete()

【讨论】:

以上是关于退出频道时如何删除频道房间 discord.py的主要内容,如果未能解决你的问题,请参考以下文章

如何从特定频道狙击消息(discord.py)

如何使用 Discord.py Cogs 使 Discord Bot 加入语音频道并在成员加入频道时播放音频文件

discord py - 在多个服务器上删除具有相同内容的消息(原始删除)

discord.py bot 找到要删除的频道消息,但显示其客户端 ID 与我的相同

如何使用 discord.py 中的频道 ID 设置频道对象?

如何使用 discord.py 获取所有文本频道?