Add docs for Dispatcher

This commit is contained in:
Alex Root Junior 2020-06-27 19:46:01 +03:00
parent 8ebbfb1388
commit 7245811c3c
197 changed files with 872 additions and 19 deletions

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
.idea/
.vscode/
__pycache__/
*.py[cod]

View file

@ -8,6 +8,19 @@ from .handler import CallbackType, HandlerObject, HandlerType
class EventObserver:
"""
Simple events observer
Is used for managing events is not related with Telegram (For example startup/shutdown processes)
Handlers can be registered via decorator or method
.. code-block:: python
<observer>.register(my_handler)
.. code-block:: python
@<observer>()
async def my_handler(*args, **kwargs): ...
"""
def __init__(self) -> None:

View file

@ -18,6 +18,9 @@ if TYPE_CHECKING: # pragma: no cover
class TelegramEventObserver:
"""
Event observer for Telegram events
Here you can register handler with filters or bounded filters which can be used as keyword arguments instead of writing full references when you register new handlers.
This observer will stops event propagation when first handler is pass.
"""
def __init__(self, router: Router, event_name: str) -> None:
@ -153,10 +156,19 @@ class TelegramEventObserver:
Decorator for registering inner middlewares
Usage:
>>> @<event>.middleware() # via decorator (variant 1)
>>> @<event>.middleware # via decorator (variant 2)
>>> async def my_middleware(handler, event, data): ...
>>> <event>.middleware(middleware) # via method
.. code-block:: python
@<event>.middleware() # via decorator (variant 1)
.. code-block:: python
@<event>.middleware # via decorator (variant 2)
.. code-block:: python
async def my_middleware(handler, event, data): ...
<event>.middleware(my_middleware) # via method
"""
def wrapper(m: MiddlewareType) -> MiddlewareType:
@ -174,10 +186,19 @@ class TelegramEventObserver:
Decorator for registering outer middlewares
Usage:
>>> @<event>.outer_middleware() # via decorator (variant 1)
>>> @<event>.outer_middleware # via decorator (variant 2)
>>> async def my_middleware(handler, event, data): ...
>>> <event>.outer_middleware(my_middleware) # via method
.. code-block:: python
@<event>.outer_middleware() # via decorator (variant 1)
.. code-block:: python
@<event>.outer_middleware # via decorator (variant 2)
.. code-block:: python
async def my_middleware(handler, event, data): ...
<event>.outer_middleware(my_middleware) # via method
"""
def wrapper(m: MiddlewareType) -> MiddlewareType:

View file

@ -15,10 +15,22 @@ from .middlewares.error import ErrorsMiddleware
class Router:
"""
Events router
Router can route update and it nested update types like messages, callback query, polls and all other event types.
Here is used event-observer pattern.
Event handlers can be registered in observer by two ways:
- By observer method - :obj:`router.<event_type>.register(handler, <filters, ...>)`
- By decorator - :obj:`@router.<event_type>(<filters, ...>)`
"""
def __init__(self, use_builtin_filters: bool = True) -> None:
"""
:param use_builtin_filters: `aiogram` has many builtin filters and you can controll automatic registration of this filters in factory
"""
self.use_builtin_filters = use_builtin_filters
self._parent_router: Optional[Router] = None

View file

@ -6,7 +6,7 @@
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SPHINXINTL ?= sphinx-intl
SOURCEDIR = source
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View file

@ -12,3 +12,6 @@ For example :code:`sendMessage` named :code:`send_message` and has the same spec
.. autoclass:: aiogram.api.client.bot.Bot
:members:
:show-inheritance:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.add_sticker_to_set
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -10,6 +10,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.answer_callback_query
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -10,6 +10,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.answer_inline_query
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.answer_pre_checkout_query
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.answer_shipping_query
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.create_new_sticker_set
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.delete_chat_photo
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.delete_chat_sticker_set
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -24,6 +24,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.delete_message
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.delete_sticker_from_set
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.delete_webhook
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Union[Message, bool]`
.. automodule:: aiogram.api.methods.edit_message_caption
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Union[Message, bool]`
.. automodule:: aiogram.api.methods.edit_message_live_location
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Union[Message, bool]`
.. automodule:: aiogram.api.methods.edit_message_media
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Union[Message, bool]`
.. automodule:: aiogram.api.methods.edit_message_reply_markup
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Union[Message, bool]`
.. automodule:: aiogram.api.methods.edit_message_text
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -10,6 +10,9 @@ Returns: :obj:`str`
.. automodule:: aiogram.api.methods.export_chat_invite_link
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.forward_message
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Chat`
.. automodule:: aiogram.api.methods.get_chat
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`List[ChatMember]`
.. automodule:: aiogram.api.methods.get_chat_administrators
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`ChatMember`
.. automodule:: aiogram.api.methods.get_chat_member
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`int`
.. automodule:: aiogram.api.methods.get_chat_members_count
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -10,6 +10,9 @@ Returns: :obj:`File`
.. automodule:: aiogram.api.methods.get_file
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -10,6 +10,9 @@ Returns: :obj:`List[GameHighScore]`
.. automodule:: aiogram.api.methods.get_game_high_scores
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`User`
.. automodule:: aiogram.api.methods.get_me
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`List[BotCommand]`
.. automodule:: aiogram.api.methods.get_my_commands
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`StickerSet`
.. automodule:: aiogram.api.methods.get_sticker_set
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -14,6 +14,9 @@ Returns: :obj:`List[Update]`
.. automodule:: aiogram.api.methods.get_updates
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`UserProfilePhotos`
.. automodule:: aiogram.api.methods.get_user_profile_photos
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`WebhookInfo`
.. automodule:: aiogram.api.methods.get_webhook_info
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.kick_chat_member
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.leave_chat
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.pin_chat_message
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.promote_chat_member
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.restrict_chat_member
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_animation
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -10,6 +10,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_audio
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -12,6 +12,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.send_chat_action
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_contact
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_dice
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_document
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_game
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_invoice
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_location
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`List[Message]`
.. automodule:: aiogram.api.methods.send_media_group
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_message
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_photo
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_poll
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_sticker
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_venue
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_video
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_video_note
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Message`
.. automodule:: aiogram.api.methods.send_voice
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_chat_administrator_custom_title
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_chat_description
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_chat_permissions
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_chat_photo
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_chat_sticker_set
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_chat_title
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Union[Message, bool]`
.. automodule:: aiogram.api.methods.set_game_score
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_my_commands
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -10,6 +10,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_passport_data_errors
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_sticker_position_in_set
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_sticker_set_thumb
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -20,6 +20,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.set_webhook
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Union[Message, bool]`
.. automodule:: aiogram.api.methods.stop_message_live_location
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`Poll`
.. automodule:: aiogram.api.methods.stop_poll
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.unban_chat_member
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`bool`
.. automodule:: aiogram.api.methods.unpin_chat_message
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -8,6 +8,9 @@ Returns: :obj:`File`
.. automodule:: aiogram.api.methods.upload_sticker_file
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True
Usage

View file

@ -6,3 +6,6 @@ This object represents an animation file (GIF or H.264/MPEG-4 AVC video without
.. automodule:: aiogram.api.types.animation
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ This object represents an audio file to be treated as music by the Telegram clie
.. automodule:: aiogram.api.types.audio
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ This object represents a bot command.
.. automodule:: aiogram.api.types.bot_command
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ A placeholder, currently holds no information. Use BotFather to set up your game
.. automodule:: aiogram.api.types.callback_game
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -8,3 +8,6 @@ NOTE: After the user presses a callback button, Telegram clients will display a
.. automodule:: aiogram.api.types.callback_query
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ This object represents a chat.
.. automodule:: aiogram.api.types.chat
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ This object contains information about one member of a chat.
.. automodule:: aiogram.api.types.chat_member
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ Describes actions that a non-administrator user is allowed to take in a chat.
.. automodule:: aiogram.api.types.chat_permissions
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ This object represents a chat photo.
.. automodule:: aiogram.api.types.chat_photo
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -8,3 +8,6 @@ Note: It is necessary to enable inline feedback via @Botfather in order to recei
.. automodule:: aiogram.api.types.chosen_inline_result
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ This object represents a phone contact.
.. automodule:: aiogram.api.types.contact
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

View file

@ -6,3 +6,6 @@ This object represents an animated emoji that displays a random value.
.. automodule:: aiogram.api.types.dice
:members:
:member-order: bysource
:special-members: __init__
:undoc-members: True

Some files were not shown because too many files have changed in this diff Show more