25 lines
833 B
Python
25 lines
833 B
Python
from aiogram.filters import BaseFilter
|
|
from aiogram.types import InlineQuery
|
|
|
|
|
|
class ServiceSearchFilter(BaseFilter):
|
|
def __init__(self, service_letter: str):
|
|
self.service_letter = f"{service_letter}:"
|
|
|
|
async def __call__(self, inline_query: InlineQuery):
|
|
return (
|
|
inline_query.query.startswith(self.service_letter)
|
|
and inline_query.query != self.service_letter
|
|
)
|
|
|
|
|
|
class ServiceSearchMultiletterFilter(BaseFilter):
|
|
def __init__(self, service_lettes: list[str]):
|
|
self.service_letter = [f"{letter}:" for letter in service_lettes]
|
|
|
|
async def __call__(self, inline_query: InlineQuery):
|
|
return (
|
|
any(inline_query.query.startswith(letter) for letter in self.service_letter)
|
|
and inline_query.query not in self.service_letter
|
|
)
|