mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 10:11:52 +00:00
More minor refactoring
This commit is contained in:
parent
a78b93c5cd
commit
5846d3a6c2
6 changed files with 42 additions and 24 deletions
|
|
@ -85,39 +85,56 @@ class Dispatcher(DataMixin, ContextInstanceMixin):
|
||||||
|
|
||||||
filters_factory.bind(StateFilter, exclude_event_handlers=[
|
filters_factory.bind(StateFilter, exclude_event_handlers=[
|
||||||
self.errors_handlers,
|
self.errors_handlers,
|
||||||
self.poll_handlers
|
self.poll_handlers,
|
||||||
])
|
])
|
||||||
filters_factory.bind(ContentTypeFilter, event_handlers=[
|
filters_factory.bind(ContentTypeFilter, event_handlers=[
|
||||||
self.message_handlers, self.edited_message_handlers,
|
self.message_handlers,
|
||||||
self.channel_post_handlers, self.edited_channel_post_handlers,
|
self.edited_message_handlers,
|
||||||
|
self.channel_post_handlers,
|
||||||
|
self.edited_channel_post_handlers,
|
||||||
]),
|
]),
|
||||||
filters_factory.bind(Command, event_handlers=[
|
filters_factory.bind(Command, event_handlers=[
|
||||||
self.message_handlers, self.edited_message_handlers
|
self.message_handlers,
|
||||||
|
self.edited_message_handlers
|
||||||
])
|
])
|
||||||
filters_factory.bind(Text, event_handlers=[
|
filters_factory.bind(Text, event_handlers=[
|
||||||
self.message_handlers, self.edited_message_handlers,
|
self.message_handlers,
|
||||||
self.channel_post_handlers, self.edited_channel_post_handlers,
|
self.edited_message_handlers,
|
||||||
self.callback_query_handlers, self.poll_handlers, self.inline_query_handlers,
|
self.channel_post_handlers,
|
||||||
|
self.edited_channel_post_handlers,
|
||||||
|
self.callback_query_handlers,
|
||||||
|
self.poll_handlers,
|
||||||
|
self.inline_query_handlers,
|
||||||
])
|
])
|
||||||
filters_factory.bind(HashTag, event_handlers=[
|
filters_factory.bind(HashTag, event_handlers=[
|
||||||
self.message_handlers, self.edited_message_handlers,
|
self.message_handlers,
|
||||||
self.channel_post_handlers, self.edited_channel_post_handlers,
|
self.edited_message_handlers,
|
||||||
|
self.channel_post_handlers,
|
||||||
|
self.edited_channel_post_handlers,
|
||||||
])
|
])
|
||||||
filters_factory.bind(Regexp, event_handlers=[
|
filters_factory.bind(Regexp, event_handlers=[
|
||||||
self.message_handlers, self.edited_message_handlers,
|
self.message_handlers,
|
||||||
self.channel_post_handlers, self.edited_channel_post_handlers,
|
self.edited_message_handlers,
|
||||||
self.callback_query_handlers, self.poll_handlers, self.inline_query_handlers,
|
self.channel_post_handlers,
|
||||||
|
self.edited_channel_post_handlers,
|
||||||
|
self.callback_query_handlers,
|
||||||
|
self.poll_handlers,
|
||||||
|
self.inline_query_handlers,
|
||||||
])
|
])
|
||||||
filters_factory.bind(RegexpCommandsFilter, event_handlers=[
|
filters_factory.bind(RegexpCommandsFilter, event_handlers=[
|
||||||
self.message_handlers, self.edited_message_handlers,
|
self.message_handlers,
|
||||||
|
self.edited_message_handlers,
|
||||||
])
|
])
|
||||||
filters_factory.bind(ExceptionsFilter, event_handlers=[
|
filters_factory.bind(ExceptionsFilter, event_handlers=[
|
||||||
self.errors_handlers,
|
self.errors_handlers,
|
||||||
])
|
])
|
||||||
filters_factory.bind(IdFilter, event_handlers=[
|
filters_factory.bind(IdFilter, event_handlers=[
|
||||||
self.message_handlers, self.edited_message_handlers,
|
self.message_handlers,
|
||||||
self.channel_post_handlers, self.edited_channel_post_handlers,
|
self.edited_message_handlers,
|
||||||
self.callback_query_handlers, self.inline_query_handlers
|
self.channel_post_handlers,
|
||||||
|
self.edited_channel_post_handlers,
|
||||||
|
self.callback_query_handlers,
|
||||||
|
self.inline_query_handlers,
|
||||||
])
|
])
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
|
|
|
||||||
|
|
@ -27,5 +27,5 @@ __all__ = [
|
||||||
'get_filter_spec',
|
'get_filter_spec',
|
||||||
'get_filters_spec',
|
'get_filters_spec',
|
||||||
'execute_filter',
|
'execute_filter',
|
||||||
'check_filters'
|
'check_filters',
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -558,9 +558,9 @@ class IdFilter(Filter):
|
||||||
|
|
||||||
if self.user_id and self.chat_id:
|
if self.user_id and self.chat_id:
|
||||||
return user_id in self.user_id and chat_id in self.chat_id
|
return user_id in self.user_id and chat_id in self.chat_id
|
||||||
elif self.user_id:
|
if self.user_id:
|
||||||
return user_id in self.user_id
|
return user_id in self.user_id
|
||||||
elif self.chat_id:
|
if self.chat_id:
|
||||||
return chat_id in self.chat_id
|
return chat_id in self.chat_id
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
|
||||||
|
|
@ -70,4 +70,4 @@ class FiltersFactory:
|
||||||
yield filter_
|
yield filter_
|
||||||
|
|
||||||
if full_config:
|
if full_config:
|
||||||
raise NameError('Invalid filter name(s): \'' + '\', '.join(full_config.keys()) + '\'')
|
raise NameError("Invalid filter name(s): '" + "', ".join(full_config.keys()) + "'")
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ class FilterRecord:
|
||||||
Filters record for factory
|
Filters record for factory
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, callback: typing.Callable,
|
def __init__(self, callback: typing.Union[typing.Callable, 'AbstractFilter'],
|
||||||
validator: typing.Optional[typing.Callable] = None,
|
validator: typing.Optional[typing.Callable] = None,
|
||||||
event_handlers: typing.Optional[typing.Iterable[Handler]] = None,
|
event_handlers: typing.Optional[typing.Iterable[Handler]] = None,
|
||||||
exclude_event_handlers: typing.Optional[typing.Iterable[Handler]] = None):
|
exclude_event_handlers: typing.Optional[typing.Iterable[Handler]] = None):
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import inspect
|
import inspect
|
||||||
from contextvars import ContextVar
|
from contextvars import ContextVar
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Optional, Iterable
|
from typing import Optional, Iterable, List
|
||||||
|
|
||||||
ctx_data = ContextVar('ctx_handler_data')
|
ctx_data = ContextVar('ctx_handler_data')
|
||||||
current_handler = ContextVar('current_handler')
|
current_handler = ContextVar('current_handler')
|
||||||
|
|
@ -41,11 +41,10 @@ class Handler:
|
||||||
self.dispatcher = dispatcher
|
self.dispatcher = dispatcher
|
||||||
self.once = once
|
self.once = once
|
||||||
|
|
||||||
self.handlers = []
|
self.handlers: List[Handler.HandlerObj] = []
|
||||||
self.middleware_key = middleware_key
|
self.middleware_key = middleware_key
|
||||||
|
|
||||||
def register(self, handler, filters=None, index=None):
|
def register(self, handler, filters=None, index=None):
|
||||||
from .filters import get_filters_spec
|
|
||||||
"""
|
"""
|
||||||
Register callback
|
Register callback
|
||||||
|
|
||||||
|
|
@ -55,6 +54,8 @@ class Handler:
|
||||||
:param filters: list of filters
|
:param filters: list of filters
|
||||||
:param index: you can reorder handlers
|
:param index: you can reorder handlers
|
||||||
"""
|
"""
|
||||||
|
from .filters import get_filters_spec
|
||||||
|
|
||||||
spec = _get_spec(handler)
|
spec = _get_spec(handler)
|
||||||
|
|
||||||
if filters and not isinstance(filters, (list, tuple, set)):
|
if filters and not isinstance(filters, (list, tuple, set)):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue