Merge pull request #25 from n1ret/main

Added compatibility with Story object to chat filter
This commit is contained in:
2023-10-31 16:02:20 +00:00 committed by GitHub
commit b8579d7658
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -18,11 +18,19 @@
import inspect
import re
from typing import Callable, Union, List, Pattern
from typing import Callable, List, Pattern, Union
import pyrogram
from pyrogram import enums
from pyrogram.types import Message, CallbackQuery, InlineQuery, InlineKeyboardMarkup, ReplyKeyboardMarkup, Update
from pyrogram.types import (
CallbackQuery,
InlineKeyboardMarkup,
InlineQuery,
Message,
ReplyKeyboardMarkup,
Story,
Update,
)
class Filter:
@ -979,12 +987,33 @@ class chat(Filter, set):
else c for c in chats
)
async def __call__(self, _, message: Message):
return (message.chat
and (message.chat.id in self
or (message.chat.username
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)))
async def __call__(self, _, message: Union[Message, Story]):
if isinstance(message, Story):
return (
message.sender_chat
and (
message.sender_chat.id in self
or (
message.sender_chat.username
and message.sender_chat.username.lower() in self
)
)
) or (
message.from_user
and (
message.from_user.id in self
or (
message.from_user.username
and message.from_user.username.lower() in self
)
)
)
else:
return (message.chat
and (message.chat.id in self
or (message.chat.username
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)))