这是我的代码:
import discord, asyncio
app = discord.Client()
@app.event
async def on_voice_state_update(member, before, after):
username = str(member)
guild = app.get_guild(660213767820410893)
ch = guild.get_channel(660213767820410918)
category = guild.get_channel(660213767820410908)
if after.channel == ch:
channel = await guild.create_voice_channel(
name=username+"`s Room",
category=category,
user_limit=99
)
await member.move_to(channel)
await channel.set_permissions(member, manage_channels=True)
if not before.channel.members and before.channel != ch:
await before.channel.delete()
我只想删除一个类别中的语音通道。目前,所有频道均已删除。
答案 0 :(得分:1)
您是否只想删除VoiceChannel
中的category
?如果是,则只需在最后一个before.channel.category == category
块中添加条件:if
:
import discord, asyncio
app = discord.Client()
@app.event
async def on_voice_state_update(member, before, after):
username = str(member)
guild = app.get_guild(660213767820410893)
ch = guild.get_channel(660213767820410918)
category = guild.get_channel(660213767820410908)
if after.channel == ch:
channel = await guild.create_voice_channel(
name=username+"`s Room",
category=category,
user_limit=99
)
await member.move_to(channel)
await channel.set_permissions(member, manage_channels=True)
b_channel = before.channel
if b_channel: # If the user was connected to a voice channel before
if not b_channel.members and b_channel != ch and b_channel.category == category:
await b_channel.delete()