Как отменить срабатывания message_handler с content_types=''left_chat_member''

Рейтинг: 0Ответов: 1Опубликовано: 18.06.2023

Есть вот такая функция:

@dp.message_handler(content_types=['left_chat_member'])
async def left_member(message: Message):

    chat = db.get_chat(message.chat.id)
    
    user1 = await bot.get_chat_member(message.chat.id, chat[3])
    user2 = await bot.get_chat_member(message.chat.id, chat[4])
    
    if user1['status'] != 'kicked' or user2['status'] != 'kicked':
        task = db.select_task(chat[1])
        if chat[5] == 'True':
            await message.answer('Юзер вийшов з чату. Угода зупиняється. Гроші клієнту повернулися.')
            await asyncio.sleep(2)
            await fondy.cancel_payment(task[5], chat[7])
        else:
            await message.answer('Юзер вийшов з чату. Угода зупиняється.')
    
        await bot.kick_chat_member(message.chat.id, chat[3])
        await bot.kick_chat_member(message.chat.id, chat[4])

Я хочу проверить, если человек не был кикнут из чата, то условие будет срабатывать, но оно работает абсолютно в любом случае. Как это можно исправить?

Ответы

▲ 0

Судя по всему, неправильно задан параметр content_types. Попробуйте задать его вот таким способом:

from aiogram.types import ContentTypes


@dp.message_handler(content_types=ContentTypes.LEFT_CHAT_MEMBER):
    ...