От телеграма приходит не один, а несколько апдейтов подряд. В каждом прикреплен свой файл. Но у них одинаковый media_group_id,
что и говорит о том, что они из одной компании.
У себя решил задержкой. Когда в апдейте присутствует параметр media_group_id
, то работаем асинхронно:
куда-то складываем файл очередной (в словарь, где ключ этот media_group_id
,а в значении лежит массив файлов и таймер), и заводим таймер, скажем, на 500 ms.
Последующие апдейты добавляют свои файлы, сбрасывают имеющийся таймер, и завоят свой новый.
Когда все апдейты прошли, полсекунды тишины — наконец срабатывает таймер, отправляющий награбленное из словаря и очищает значение словаря.
Писал на js/telegraf, посему код не привожу.