From 2739680518583d20f2faf53b270ff1a73c46a709 Mon Sep 17 00:00:00 2001 From: Daniil Kovalenko <40635760+WhiteMemory99@users.noreply.github.com> Date: Wed, 17 Mar 2021 18:37:07 +0700 Subject: [PATCH] Add MediaGroupFilter --- aiogram/dispatcher/filters/builtin.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/aiogram/dispatcher/filters/builtin.py b/aiogram/dispatcher/filters/builtin.py index 762c8505..c32c53be 100644 --- a/aiogram/dispatcher/filters/builtin.py +++ b/aiogram/dispatcher/filters/builtin.py @@ -738,3 +738,20 @@ class ChatTypeFilter(BoundFilter): return False return obj.type in self.chat_type + + +class MediaGroupFilter(BoundFilter): + """ + Check if message is part of a media group. + + `is_media_group=True` - the message is part of a media group + `is_media_group=False` - the message is NOT part of a media group + """ + + key = "is_media_group" + + def __init__(self, is_media_group: bool): + self.is_media_group = is_media_group + + async def check(self, message: types.Message) -> bool: + return bool(getattr(message, "media_group_id")) is self.is_media_group