mirror of
https://github.com/pyrogram/pyrogram
synced 2025-08-28 21:07:59 +00:00
Fix service filter and add media filter
This commit is contained in:
parent
87efe4bb99
commit
e8193435a9
@ -86,6 +86,39 @@ class Filters:
|
|||||||
channel = build("Channel", lambda _, m: bool(m.chat.type == "channel"))
|
channel = build("Channel", lambda _, m: bool(m.chat.type == "channel"))
|
||||||
"""Filter messages sent in channels."""
|
"""Filter messages sent in channels."""
|
||||||
|
|
||||||
|
new_chat_members = build("NewChatMembers", lambda _, m: bool(m.new_chat_members))
|
||||||
|
"""Filter service messages for new chat members."""
|
||||||
|
|
||||||
|
left_chat_member = build("LeftChatMember", lambda _, m: bool(m.left_chat_member))
|
||||||
|
"""Filter service messages for members that left the chat."""
|
||||||
|
|
||||||
|
new_chat_title = build("NewChatTitle", lambda _, m: bool(m.new_chat_title))
|
||||||
|
"""Filter service messages for new chat titles."""
|
||||||
|
|
||||||
|
new_chat_photo = build("NewChatPhoto", lambda _, m: bool(m.new_chat_photo))
|
||||||
|
"""Filter service messages for new chat photos."""
|
||||||
|
|
||||||
|
delete_chat_photo = build("DeleteChatPhoto", lambda _, m: bool(m.delete_chat_photo))
|
||||||
|
"""Filter service messages for deleted photos."""
|
||||||
|
|
||||||
|
group_chat_created = build("GroupChatCreated", lambda _, m: bool(m.group_chat_created))
|
||||||
|
"""Filter service messages for group chat creations."""
|
||||||
|
|
||||||
|
supergroup_chat_created = build("SupergroupChatCreated", lambda _, m: bool(m.supergroup_chat_created))
|
||||||
|
"""Filter service messages for supergroup chat creations."""
|
||||||
|
|
||||||
|
channel_chat_created = build("ChannelChatCreated", lambda _, m: bool(m.channel_chat_created))
|
||||||
|
"""Filter service messages for channel chat creations."""
|
||||||
|
|
||||||
|
migrate_to_chat_id = build("MigrateToChatId", lambda _, m: bool(m.migrate_to_chat_id))
|
||||||
|
"""Filter service messages that contain migrate_to_chat_id."""
|
||||||
|
|
||||||
|
migrate_from_chat_id = build("MigrateFromChatId", lambda _, m: bool(m.migrate_from_chat_id))
|
||||||
|
"""Filter service messages that contain migrate_from_chat_id."""
|
||||||
|
|
||||||
|
pinned_message = build("PinnedMessage", lambda _, m: bool(m.pinned_message))
|
||||||
|
"""Filter service messages for pinned messages."""
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def command(command: str or list):
|
def command(command: str or list):
|
||||||
"""Filter commands, i.e.: text messages starting with '/'.
|
"""Filter commands, i.e.: text messages starting with '/'.
|
||||||
@ -169,50 +202,34 @@ class Filters:
|
|||||||
service = build(
|
service = build(
|
||||||
"Service",
|
"Service",
|
||||||
lambda _, m: bool(
|
lambda _, m: bool(
|
||||||
_.new_chat_members(m)
|
Filters.new_chat_members(m)
|
||||||
or _.left_chat_member(m)
|
or Filters.left_chat_member(m)
|
||||||
or _.new_chat_title(m)
|
or Filters.new_chat_title(m)
|
||||||
or _.new_chat_photo(m)
|
or Filters.new_chat_photo(m)
|
||||||
or _.delete_chat_photo(m)
|
or Filters.delete_chat_photo(m)
|
||||||
or _.group_chat_created(m)
|
or Filters.group_chat_created(m)
|
||||||
or _.supergroup_chat_created(m)
|
or Filters.supergroup_chat_created(m)
|
||||||
or _.channel_chat_created(m)
|
or Filters.channel_chat_created(m)
|
||||||
or _.migrate_to_chat_id(m)
|
or Filters.migrate_to_chat_id(m)
|
||||||
or _.migrate_from_chat_id(m)
|
or Filters.migrate_from_chat_id(m)
|
||||||
or _.pinned_m(m)
|
or Filters.pinned_message(m)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
"""Filter all service messages"""
|
"""Filter all service messages."""
|
||||||
|
|
||||||
new_chat_members = build("NewChatMembers", lambda _, m: bool(m.new_chat_members))
|
media = build(
|
||||||
"""Filter service messages for new chat members."""
|
"Media",
|
||||||
|
lambda _, m: bool(
|
||||||
left_chat_member = build("LeftChatMember", lambda _, m: bool(m.left_chat_member))
|
Filters.audio(m)
|
||||||
"""Filter service messages for members that left the chat."""
|
or Filters.document(m)
|
||||||
|
or Filters.photo(m)
|
||||||
new_chat_title = build("NewChatTitle", lambda _, m: bool(m.new_chat_title))
|
or Filters.sticker(m)
|
||||||
"""Filter service messages for new chat titles."""
|
or Filters.video(m)
|
||||||
|
or Filters.voice(m)
|
||||||
new_chat_photo = build("NewChatPhoto", lambda _, m: bool(m.new_chat_photo))
|
or Filters.video_note(m)
|
||||||
"""Filter service messages for new chat photos."""
|
or Filters.contact(m)
|
||||||
|
or Filters.location(m)
|
||||||
delete_chat_photo = build("DeleteChatPhoto", lambda _, m: bool(m.delete_chat_photo))
|
or Filters.venue(m)
|
||||||
"""Filter service messages for deleted photos."""
|
)
|
||||||
|
)
|
||||||
group_chat_created = build("GroupChatCreated", lambda _, m: bool(m.group_chat_created))
|
"""Filter all media messages."""
|
||||||
"""Filter service messages for group chat creations."""
|
|
||||||
|
|
||||||
supergroup_chat_created = build("SupergroupChatCreated", lambda _, m: bool(m.supergroup_chat_created))
|
|
||||||
"""Filter service messages for supergroup chat creations."""
|
|
||||||
|
|
||||||
channel_chat_created = build("ChannelChatCreated", lambda _, m: bool(m.channel_chat_created))
|
|
||||||
"""Filter service messages for channel chat creations."""
|
|
||||||
|
|
||||||
migrate_to_chat_id = build("MigrateToChatId", lambda _, m: bool(m.migrate_to_chat_id))
|
|
||||||
"""Filter service messages that contain migrate_to_chat_id."""
|
|
||||||
|
|
||||||
migrate_from_chat_id = build("MigrateFromChatId", lambda _, m: bool(m.migrate_from_chat_id))
|
|
||||||
"""Filter service messages that contain migrate_from_chat_id."""
|
|
||||||
|
|
||||||
pinned_message = build("PinnedMessage", lambda _, m: bool(m.pinned_message))
|
|
||||||
"""Filter service messages for pinned messages."""
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user