26 lines
869 B
Python
26 lines
869 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
|
|
)
|