2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-28 21:07:59 +00:00

Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
Dan 2018-11-06 17:42:14 +01:00
commit 0818641c51
3 changed files with 16 additions and 3 deletions

View File

@ -606,6 +606,7 @@ def parse_messages(
forward_from_message_id=forward_from_message_id,
forward_signature=forward_signature,
forward_date=forward_date,
mentioned=message.mentioned,
edit_date=message.edit_date,
media_group_id=message.grouped_id,
photo=photo,

View File

@ -168,6 +168,9 @@ class Filters:
dan = create("Dan", lambda _, m: bool(m.from_user and m.from_user.id == 23122162))
mentioned = create("Mentioned", lambda _, m: bool(m.mentioned))
"""Filter messages containing mentions"""
@staticmethod
def command(command: str or list,
prefix: str or list = "/",
@ -281,15 +284,16 @@ class Filters:
Args:
chats (``int`` | ``str`` | ``list``):
Pass one or more chat ids/usernames to filter chats.
For your personal cloud (Saved Messages) you can simply use me or self.
Defaults to None (no chats).
"""
def __init__(self, chats: int or str or list = None):
chats = [] if chats is None else chats if type(chats) is list else [chats]
super().__init__(
{i.lower().strip("@") if type(i) is str else i for i in chats}
{"me" if i in ["me", "self"] else i.lower().strip("@") if type(i) is str else i for i in chats}
if type(chats) is list else
{chats.lower().strip("@") if type(chats) is str else chats}
{"me" if chats in ["me", "self"] else chats.lower().strip("@") if type(chats) is str else chats}
)
def __call__(self, message):
@ -297,7 +301,10 @@ class Filters:
message.chat
and (message.chat.id in self
or (message.chat.username
and message.chat.username.lower() in self))
and message.chat.username.lower() in self)
or ("me" in self and message.from_user
and message.from_user.is_self
and not message.outgoing))
)
service = create(

View File

@ -55,6 +55,9 @@ class Message(Object):
For replies, the original message. Note that the Message object in this field will not contain
further reply_to_message fields even if it itself is a reply.
mentioned (``bool``, *optional*):
The message contains a mention.
edit_date (``int``, *optional*):
Date the message was last edited in Unix time.
@ -206,6 +209,7 @@ class Message(Object):
forward_signature: str = None,
forward_date: int = None,
reply_to_message=None,
mentioned=None,
edit_date: int = None,
media_group_id: str = None,
author_signature: str = None,
@ -253,6 +257,7 @@ class Message(Object):
self.forward_signature = forward_signature # flags.4?string
self.forward_date = forward_date # flags.5?int
self.reply_to_message = reply_to_message # flags.6?Message
self.mentioned = mentioned
self.edit_date = edit_date # flags.7?int
self.media_group_id = media_group_id # flags.8?string
self.author_signature = author_signature # flags.9?string