Почему происходит удаление канала, даже если в нем уже есть человек?
Почему этот код удаляет канал, даже если в нем есть человек?
Мне нужно написать код, который будет создавать новый ГК, с названием: (имя пользователя)'s channel и перекидывал пользователя в новосозданный канал. Также, как только кол-во людей в канале становилось равным 0, то он самоуничтожался. Но почему-то бот удаляет канал, практически сразу, после его создания.
Пробовал сделать задержку через time.sleep(5)
, потому что подумал, что бот считает кол-во людей только тогда, когда, у пользователя внизу написано: "голосовая связь подключена".
@bot.event
async def on_voice_state_update(member, before, after):
target_channel_id = 1234567890
if before.channel is None and after.channel is not None and after.channel.id == target_channel_id:
overwrites = {
member: discord.PermissionOverwrite(manage_channels=True),
member.guild.default_role: discord.PermissionOverwrite(connect=False)
}
channel = await after.channel.category.create_voice_channel(name=f"{member.name}'s Channel", overwrites=overwrites)
await member.move_to(channel)
elif before.channel is not None and before.channel.id == target_channel_id and len(before.channel.members) == 0:
for channel in before.channel.category.voice_channels:
if channel.name == f"{member.name}'s Channel":
await channel.delete()
break