Merge pull request #155 from Furoin/chat

Allow using "me" or "self" in Filters.chat
This commit is contained in:
Dan 2018-11-06 17:41:12 +01:00 committed by GitHub
commit 160420bda4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -284,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):
@ -300,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(