Проблемы с обработкой и отправкой media_group aiogram

Рейтинг: 0Ответов: 1Опубликовано: 16.04.2023
async def collect_data_with_car(message: types.Message, state: FSMContext):
print('collect_data_with_car')
try:

    async with state.proxy() as data:
        data['photo'] = message.photo[-1].file_id
        print(message.media_group_id)

        print(data)
        album.append({"media" : data['photo'], "type" : "photo"})
        print(album)


except:
    await message.reply("Прикрепи фото")
    dp.register_message_handler(collect_data_with_car, state=FSMAdd.collect_data_with_car)
finally:
    await bot.send_media_group(message.from_user.id, media=album)
    await FSMAdd.next()

Необходимо отправлять media_group в том же состоянии, в котором она и была отправлена. Но данный код обрабатывает каждую фотографию отдельно и каждый раз отправляет media_group

Ответы

▲ 0Принят

данный хендлер срабатывает на каждую фотографию. рекомендую использовать MediaGroupFilter, ссылка на документацию aiogram - https://docs.aiogram.dev/en/latest/dispatcher/filters.html#aiogram.dispatcher.filters.MediaGroupFilter