Middleware для пересланных сообщений, aiogram 2
Всем привет! У меня возникла сложность с написанием middelware для пересланных сообщений. Вся суть в том что, если человек скидывает сразу несколько пересланных сообщений боту, то они должны считаться как одно сообщение и дальше идти обрабатываться. Ломаю,ломаю голову, но не могу догнать как сделать. Вот есть что то похожее на media_group, но даже с ним не получается понять как это реализовать под forward_message, помогите чем сможете, буду благодарен
class AlbumMiddleware(BaseMiddleware):
album_data: dict = {}
def __init__(self, latency: Union[int, float] = 0.01):
self.latency = latency
super().__init__()
async def on_process_message(self, message: types.Message, data: dict):
if not message.media_group_id:
return
try:
self.album_data[message.media_group_id].append(message)
raise CancelHandler()
except KeyError:
self.album_data[message.media_group_id] = [message]
await asyncio.sleep(self.latency)
message.conf["is_last"] = True
data["album"] = self.album_data[message.media_group_id]
async def on_post_process_message(self, message: types.Message, result: dict, data: dict):
if message.media_group_id and message.conf.get("is_last"):
del self.album_data[message.media_group_id]```