Дискорд бот флудит, когда пользователь выключает/включает микрофон
У меня есть бот с логами, когда пользователи заходят/входят в канал, то он пишет об этом в специальный канал, но если человек включает/выключает микрофон, то он пишет что пользователь присоединился и сразу отключился от канала.
Пытался сделать проверку if before.mute != after.mute: и if before.channel.member == after.channel.members, но это не помогало, мб есть какой-то другой вариант? Делал эту часть кода в ивенте on_voice_state_update
@bot.event
async def on_voice_state_update(member, before, after):
now = datetime.datetime.now()
if before.channel is not None:
if before.channel.id == 720295133282566176:
embed=discord.Embed(
title='',
description=f'? Пользователь {member.mention} покинул AFK канал.',
color=0xf04848
)
embed.set_author(name=f'{member.name}#{member.discriminator}', icon_url=member.avatar_url)
embed.set_footer(text=f'ID: {member.id} • Сегодня, в {now.hour}:{now.minute}')
await bot.get_channel(1000781163696230440).send(embed=embed)
else:
embed=discord.Embed(
title='',
description=f'? Пользователь {member.mention} покинул голосовой канал `{before.channel}`',
color=0xf04848
)
embed.set_author(name=f'{member.name}#{member.discriminator}', icon_url=member.avatar_url)
embed.set_footer(text=f'ID: {member.id} • Сегодня, в {now.hour}:{now.minute}')
await bot.get_channel(1000781163696230440).send(embed=embed)
if not before.afk and after.afk == True:
embed=discord.Embed(
title='',
description=f'? Пользователь {member.mention} был перемещён в AFK канал.',
color=0xfaa41b
)
embed.set_author(name=f'{member.name}#{member.discriminator}', icon_url=member.avatar_url)
embed.set_footer(text=f'ID: {member.id} • Сегодня, в {now.hour}:{now.minute}')
await bot.get_channel(1000781163696230440).send(embed=embed)
if member.voice and after.afk == False:
embed=discord.Embed(
title='',
description=f'? Пользователь {member.mention} присоединился к голосовому каналу `{member.voice.channel}`.',
color=0x44b37f
)
embed.set_author(name=f'{member.name}#{member.discriminator}', icon_url=member.avatar_url)
embed.set_footer(text=f'ID: {member.id} • Сегодня, в {now.hour}:{now.minute}')
await bot.get_channel(1000781163696230440).send(embed=embed)