From 7245811c3c583a94f3b70351abbc9769720751f8 Mon Sep 17 00:00:00 2001 From: Alex Root Junior Date: Sat, 27 Jun 2020 19:46:01 +0300 Subject: [PATCH] Add docs for Dispatcher --- .gitignore | 1 + aiogram/dispatcher/event/event.py | 13 ++ aiogram/dispatcher/event/telegram.py | 37 +++- aiogram/dispatcher/router.py | 14 +- docs2/Makefile | 2 +- docs2/_static/basics_middleware.png | Bin 0 -> 52245 bytes docs2/{source => }/_static/logo.png | Bin docs2/_static/middleware_pipeline.png | Bin 0 -> 16408 bytes docs2/_static/middleware_pipeline_nested.png | Bin 0 -> 34635 bytes docs2/_static/nested_routers_example.png | Bin 0 -> 40109 bytes docs2/_static/update_propagation_flow.png | Bin 0 -> 66141 bytes docs2/{source => }/api/bot.rst | 3 + docs2/{source => }/api/download_file.rst | 0 docs2/{source => }/api/index.rst | 0 .../api/methods/add_sticker_to_set.rst | 3 + .../api/methods/answer_callback_query.rst | 3 + .../api/methods/answer_inline_query.rst | 3 + .../api/methods/answer_pre_checkout_query.rst | 3 + .../api/methods/answer_shipping_query.rst | 3 + .../api/methods/create_new_sticker_set.rst | 3 + .../api/methods/delete_chat_photo.rst | 3 + .../api/methods/delete_chat_sticker_set.rst | 3 + .../api/methods/delete_message.rst | 3 + .../api/methods/delete_sticker_from_set.rst | 3 + .../api/methods/delete_webhook.rst | 3 + .../api/methods/edit_message_caption.rst | 3 + .../methods/edit_message_live_location.rst | 3 + .../api/methods/edit_message_media.rst | 3 + .../api/methods/edit_message_reply_markup.rst | 3 + .../api/methods/edit_message_text.rst | 3 + .../api/methods/export_chat_invite_link.rst | 3 + .../api/methods/forward_message.rst | 3 + docs2/{source => }/api/methods/get_chat.rst | 3 + .../api/methods/get_chat_administrators.rst | 3 + .../api/methods/get_chat_member.rst | 3 + .../api/methods/get_chat_members_count.rst | 3 + docs2/{source => }/api/methods/get_file.rst | 3 + .../api/methods/get_game_high_scores.rst | 3 + docs2/{source => }/api/methods/get_me.rst | 3 + .../api/methods/get_my_commands.rst | 3 + .../api/methods/get_sticker_set.rst | 3 + .../{source => }/api/methods/get_updates.rst | 3 + .../api/methods/get_user_profile_photos.rst | 3 + .../api/methods/get_webhook_info.rst | 3 + docs2/{source => }/api/methods/index.rst | 0 .../api/methods/kick_chat_member.rst | 3 + docs2/{source => }/api/methods/leave_chat.rst | 3 + .../api/methods/pin_chat_message.rst | 3 + .../api/methods/promote_chat_member.rst | 3 + .../api/methods/restrict_chat_member.rst | 3 + .../api/methods/send_animation.rst | 3 + docs2/{source => }/api/methods/send_audio.rst | 3 + .../api/methods/send_chat_action.rst | 3 + .../{source => }/api/methods/send_contact.rst | 3 + docs2/{source => }/api/methods/send_dice.rst | 3 + .../api/methods/send_document.rst | 3 + docs2/{source => }/api/methods/send_game.rst | 3 + .../{source => }/api/methods/send_invoice.rst | 3 + .../api/methods/send_location.rst | 3 + .../api/methods/send_media_group.rst | 3 + .../{source => }/api/methods/send_message.rst | 3 + docs2/{source => }/api/methods/send_photo.rst | 3 + docs2/{source => }/api/methods/send_poll.rst | 3 + .../{source => }/api/methods/send_sticker.rst | 3 + docs2/{source => }/api/methods/send_venue.rst | 3 + docs2/{source => }/api/methods/send_video.rst | 3 + .../api/methods/send_video_note.rst | 3 + docs2/{source => }/api/methods/send_voice.rst | 3 + .../set_chat_administrator_custom_title.rst | 3 + .../api/methods/set_chat_description.rst | 3 + .../api/methods/set_chat_permissions.rst | 3 + .../api/methods/set_chat_photo.rst | 3 + .../api/methods/set_chat_sticker_set.rst | 3 + .../api/methods/set_chat_title.rst | 3 + .../api/methods/set_game_score.rst | 3 + .../api/methods/set_my_commands.rst | 3 + .../api/methods/set_passport_data_errors.rst | 3 + .../methods/set_sticker_position_in_set.rst | 3 + .../api/methods/set_sticker_set_thumb.rst | 3 + .../{source => }/api/methods/set_webhook.rst | 3 + .../methods/stop_message_live_location.rst | 3 + docs2/{source => }/api/methods/stop_poll.rst | 3 + .../api/methods/unban_chat_member.rst | 3 + .../api/methods/unpin_chat_message.rst | 3 + .../api/methods/upload_sticker_file.rst | 3 + docs2/{source => }/api/session/aiohttp.rst | 0 docs2/{source => }/api/session/base.rst | 0 docs2/{source => }/api/session/index.rst | 0 docs2/{source => }/api/types/animation.rst | 3 + docs2/{source => }/api/types/audio.rst | 3 + docs2/{source => }/api/types/bot_command.rst | 3 + .../{source => }/api/types/callback_game.rst | 3 + .../{source => }/api/types/callback_query.rst | 3 + docs2/{source => }/api/types/chat.rst | 3 + docs2/{source => }/api/types/chat_member.rst | 3 + .../api/types/chat_permissions.rst | 3 + docs2/{source => }/api/types/chat_photo.rst | 3 + .../api/types/chosen_inline_result.rst | 3 + docs2/{source => }/api/types/contact.rst | 3 + docs2/{source => }/api/types/dice.rst | 3 + docs2/{source => }/api/types/document.rst | 3 + .../api/types/encrypted_credentials.rst | 3 + .../api/types/encrypted_passport_element.rst | 3 + docs2/{source => }/api/types/file.rst | 3 + docs2/{source => }/api/types/force_reply.rst | 3 + docs2/{source => }/api/types/game.rst | 3 + .../api/types/game_high_score.rst | 3 + docs2/{source => }/api/types/index.rst | 0 .../api/types/inline_keyboard_button.rst | 3 + .../api/types/inline_keyboard_markup.rst | 3 + docs2/{source => }/api/types/inline_query.rst | 3 + .../api/types/inline_query_result.rst | 3 + .../api/types/inline_query_result_article.rst | 3 + .../api/types/inline_query_result_audio.rst | 3 + .../inline_query_result_cached_audio.rst | 3 + .../inline_query_result_cached_document.rst | 3 + .../types/inline_query_result_cached_gif.rst | 3 + .../inline_query_result_cached_mpeg4_gif.rst | 3 + .../inline_query_result_cached_photo.rst | 3 + .../inline_query_result_cached_sticker.rst | 3 + .../inline_query_result_cached_video.rst | 3 + .../inline_query_result_cached_voice.rst | 3 + .../api/types/inline_query_result_contact.rst | 3 + .../types/inline_query_result_document.rst | 3 + .../api/types/inline_query_result_game.rst | 3 + .../api/types/inline_query_result_gif.rst | 3 + .../types/inline_query_result_location.rst | 3 + .../types/inline_query_result_mpeg4_gif.rst | 3 + .../api/types/inline_query_result_photo.rst | 3 + .../api/types/inline_query_result_venue.rst | 3 + .../api/types/inline_query_result_video.rst | 3 + .../api/types/inline_query_result_voice.rst | 3 + .../types/input_contact_message_content.rst | 3 + docs2/{source => }/api/types/input_file.rst | 3 + .../types/input_location_message_content.rst | 3 + docs2/{source => }/api/types/input_media.rst | 3 + .../api/types/input_media_animation.rst | 3 + .../api/types/input_media_audio.rst | 3 + .../api/types/input_media_document.rst | 3 + .../api/types/input_media_photo.rst | 3 + .../api/types/input_media_video.rst | 3 + .../api/types/input_message_content.rst | 3 + .../api/types/input_text_message_content.rst | 3 + .../api/types/input_venue_message_content.rst | 3 + docs2/{source => }/api/types/invoice.rst | 3 + .../api/types/keyboard_button.rst | 3 + .../api/types/keyboard_button_poll_type.rst | 3 + .../{source => }/api/types/labeled_price.rst | 3 + docs2/{source => }/api/types/location.rst | 3 + docs2/{source => }/api/types/login_url.rst | 3 + .../{source => }/api/types/mask_position.rst | 3 + docs2/{source => }/api/types/message.rst | 3 + .../{source => }/api/types/message_entity.rst | 3 + docs2/{source => }/api/types/order_info.rst | 3 + .../{source => }/api/types/passport_data.rst | 3 + .../api/types/passport_element_error.rst | 3 + .../passport_element_error_data_field.rst | 3 + .../api/types/passport_element_error_file.rst | 3 + .../types/passport_element_error_files.rst | 3 + .../passport_element_error_front_side.rst | 3 + .../passport_element_error_reverse_side.rst | 3 + .../types/passport_element_error_selfie.rst | 3 + ...assport_element_error_translation_file.rst | 3 + ...ssport_element_error_translation_files.rst | 3 + .../passport_element_error_unspecified.rst | 3 + .../{source => }/api/types/passport_file.rst | 3 + docs2/{source => }/api/types/photo_size.rst | 3 + docs2/{source => }/api/types/poll.rst | 3 + docs2/{source => }/api/types/poll_answer.rst | 3 + docs2/{source => }/api/types/poll_option.rst | 3 + .../api/types/pre_checkout_query.rst | 3 + .../api/types/reply_keyboard_markup.rst | 3 + .../api/types/reply_keyboard_remove.rst | 3 + .../api/types/response_parameters.rst | 3 + .../api/types/shipping_address.rst | 3 + .../api/types/shipping_option.rst | 3 + .../{source => }/api/types/shipping_query.rst | 3 + docs2/{source => }/api/types/sticker.rst | 3 + docs2/{source => }/api/types/sticker_set.rst | 3 + .../api/types/successful_payment.rst | 3 + docs2/{source => }/api/types/update.rst | 3 + docs2/{source => }/api/types/user.rst | 3 + .../api/types/user_profile_photos.rst | 3 + docs2/{source => }/api/types/venue.rst | 3 + docs2/{source => }/api/types/video.rst | 3 + docs2/{source => }/api/types/video_note.rst | 3 + docs2/{source => }/api/types/voice.rst | 3 + docs2/{source => }/api/types/webhook_info.rst | 3 + docs2/{source => }/api/upload_file.rst | 0 docs2/{source => }/conf.py | 6 - docs2/dispatcher/dispatcher.rst | 72 +++++++ docs2/dispatcher/index.rst | 22 +++ docs2/dispatcher/observer.rst | 26 +++ docs2/dispatcher/router.rst | 181 ++++++++++++++++++ docs2/{source => }/index.rst | 3 +- docs2/{source => }/install.rst | 0 docs2/make.bat | 4 +- 197 files changed, 872 insertions(+), 19 deletions(-) create mode 100644 docs2/_static/basics_middleware.png rename docs2/{source => }/_static/logo.png (100%) create mode 100644 docs2/_static/middleware_pipeline.png create mode 100644 docs2/_static/middleware_pipeline_nested.png create mode 100644 docs2/_static/nested_routers_example.png create mode 100644 docs2/_static/update_propagation_flow.png rename docs2/{source => }/api/bot.rst (84%) rename docs2/{source => }/api/download_file.rst (100%) rename docs2/{source => }/api/index.rst (100%) rename docs2/{source => }/api/methods/add_sticker_to_set.rst (93%) rename docs2/{source => }/api/methods/answer_callback_query.rst (94%) rename docs2/{source => }/api/methods/answer_inline_query.rst (92%) rename docs2/{source => }/api/methods/answer_pre_checkout_query.rst (93%) rename docs2/{source => }/api/methods/answer_shipping_query.rst (93%) rename docs2/{source => }/api/methods/create_new_sticker_set.rst (92%) rename docs2/{source => }/api/methods/delete_chat_photo.rst (92%) rename docs2/{source => }/api/methods/delete_chat_sticker_set.rst (93%) rename docs2/{source => }/api/methods/delete_message.rst (94%) rename docs2/{source => }/api/methods/delete_sticker_from_set.rst (92%) rename docs2/{source => }/api/methods/delete_webhook.rst (91%) rename docs2/{source => }/api/methods/edit_message_caption.rst (92%) rename docs2/{source => }/api/methods/edit_message_live_location.rst (93%) rename docs2/{source => }/api/methods/edit_message_media.rst (94%) rename docs2/{source => }/api/methods/edit_message_reply_markup.rst (93%) rename docs2/{source => }/api/methods/edit_message_text.rst (92%) rename docs2/{source => }/api/methods/export_chat_invite_link.rst (94%) rename docs2/{source => }/api/methods/forward_message.rst (91%) rename docs2/{source => }/api/methods/get_chat.rst (90%) rename docs2/{source => }/api/methods/get_chat_administrators.rst (93%) rename docs2/{source => }/api/methods/get_chat_member.rst (90%) rename docs2/{source => }/api/methods/get_chat_members_count.rst (90%) rename docs2/{source => }/api/methods/get_file.rst (93%) rename docs2/{source => }/api/methods/get_game_high_scores.rst (93%) rename docs2/{source => }/api/methods/get_me.rst (89%) rename docs2/{source => }/api/methods/get_my_commands.rst (91%) rename docs2/{source => }/api/methods/get_sticker_set.rst (90%) rename docs2/{source => }/api/methods/get_updates.rst (92%) rename docs2/{source => }/api/methods/get_user_profile_photos.rst (91%) rename docs2/{source => }/api/methods/get_webhook_info.rst (91%) rename docs2/{source => }/api/methods/index.rst (100%) rename docs2/{source => }/api/methods/kick_chat_member.rst (93%) rename docs2/{source => }/api/methods/leave_chat.rst (91%) rename docs2/{source => }/api/methods/pin_chat_message.rst (92%) rename docs2/{source => }/api/methods/promote_chat_member.rst (93%) rename docs2/{source => }/api/methods/restrict_chat_member.rst (93%) rename docs2/{source => }/api/methods/send_animation.rst (92%) rename docs2/{source => }/api/methods/send_audio.rst (93%) rename docs2/{source => }/api/methods/send_chat_action.rst (94%) rename docs2/{source => }/api/methods/send_contact.rst (91%) rename docs2/{source => }/api/methods/send_dice.rst (91%) rename docs2/{source => }/api/methods/send_document.rst (92%) rename docs2/{source => }/api/methods/send_game.rst (90%) rename docs2/{source => }/api/methods/send_invoice.rst (91%) rename docs2/{source => }/api/methods/send_location.rst (91%) rename docs2/{source => }/api/methods/send_media_group.rst (92%) rename docs2/{source => }/api/methods/send_message.rst (91%) rename docs2/{source => }/api/methods/send_photo.rst (90%) rename docs2/{source => }/api/methods/send_poll.rst (90%) rename docs2/{source => }/api/methods/send_sticker.rst (91%) rename docs2/{source => }/api/methods/send_venue.rst (91%) rename docs2/{source => }/api/methods/send_video.rst (92%) rename docs2/{source => }/api/methods/send_video_note.rst (92%) rename docs2/{source => }/api/methods/send_voice.rst (93%) rename docs2/{source => }/api/methods/set_chat_administrator_custom_title.rst (93%) rename docs2/{source => }/api/methods/set_chat_description.rst (92%) rename docs2/{source => }/api/methods/set_chat_permissions.rst (92%) rename docs2/{source => }/api/methods/set_chat_photo.rst (91%) rename docs2/{source => }/api/methods/set_chat_sticker_set.rst (93%) rename docs2/{source => }/api/methods/set_chat_title.rst (92%) rename docs2/{source => }/api/methods/set_game_score.rst (93%) rename docs2/{source => }/api/methods/set_my_commands.rst (91%) rename docs2/{source => }/api/methods/set_passport_data_errors.rst (94%) rename docs2/{source => }/api/methods/set_sticker_position_in_set.rst (92%) rename docs2/{source => }/api/methods/set_sticker_set_thumb.rst (92%) rename docs2/{source => }/api/methods/set_webhook.rst (95%) rename docs2/{source => }/api/methods/stop_message_live_location.rst (93%) rename docs2/{source => }/api/methods/stop_poll.rst (91%) rename docs2/{source => }/api/methods/unban_chat_member.rst (92%) rename docs2/{source => }/api/methods/unpin_chat_message.rst (93%) rename docs2/{source => }/api/methods/upload_sticker_file.rst (91%) rename docs2/{source => }/api/session/aiohttp.rst (100%) rename docs2/{source => }/api/session/base.rst (100%) rename docs2/{source => }/api/session/index.rst (100%) rename docs2/{source => }/api/types/animation.rst (68%) rename docs2/{source => }/api/types/audio.rst (65%) rename docs2/{source => }/api/types/bot_command.rst (61%) rename docs2/{source => }/api/types/callback_game.rst (69%) rename docs2/{source => }/api/types/callback_query.rst (90%) rename docs2/{source => }/api/types/chat.rst (54%) rename docs2/{source => }/api/types/chat_member.rst (65%) rename docs2/{source => }/api/types/chat_permissions.rst (69%) rename docs2/{source => }/api/types/chat_photo.rst (60%) rename docs2/{source => }/api/types/chosen_inline_result.rst (80%) rename docs2/{source => }/api/types/contact.rst (59%) rename docs2/{source => }/api/types/dice.rst (62%) rename docs2/{source => }/api/types/document.rst (68%) rename docs2/{source => }/api/types/encrypted_credentials.rst (80%) rename docs2/{source => }/api/types/encrypted_passport_element.rst (75%) rename docs2/{source => }/api/types/file.rst (82%) rename docs2/{source => }/api/types/force_reply.rst (93%) rename docs2/{source => }/api/types/game.rst (69%) rename docs2/{source => }/api/types/game_high_score.rst (76%) rename docs2/{source => }/api/types/index.rst (100%) rename docs2/{source => }/api/types/inline_keyboard_button.rst (74%) rename docs2/{source => }/api/types/inline_keyboard_markup.rst (81%) rename docs2/{source => }/api/types/inline_query.rst (74%) rename docs2/{source => }/api/types/inline_query_result.rst (91%) rename docs2/{source => }/api/types/inline_query_result_article.rst (70%) rename docs2/{source => }/api/types/inline_query_result_audio.rst (84%) rename docs2/{source => }/api/types/inline_query_result_cached_audio.rst (86%) rename docs2/{source => }/api/types/inline_query_result_cached_document.rst (86%) rename docs2/{source => }/api/types/inline_query_result_cached_gif.rst (84%) rename docs2/{source => }/api/types/inline_query_result_cached_mpeg4_gif.rst (85%) rename docs2/{source => }/api/types/inline_query_result_cached_photo.rst (83%) rename docs2/{source => }/api/types/inline_query_result_cached_sticker.rst (87%) rename docs2/{source => }/api/types/inline_query_result_cached_video.rst (83%) rename docs2/{source => }/api/types/inline_query_result_cached_voice.rst (86%) rename docs2/{source => }/api/types/inline_query_result_contact.rst (85%) rename docs2/{source => }/api/types/inline_query_result_document.rst (86%) rename docs2/{source => }/api/types/inline_query_result_game.rst (79%) rename docs2/{source => }/api/types/inline_query_result_gif.rst (82%) rename docs2/{source => }/api/types/inline_query_result_location.rst (84%) rename docs2/{source => }/api/types/inline_query_result_mpeg4_gif.rst (84%) rename docs2/{source => }/api/types/inline_query_result_photo.rst (81%) rename docs2/{source => }/api/types/inline_query_result_venue.rst (84%) rename docs2/{source => }/api/types/inline_query_result_video.rst (87%) rename docs2/{source => }/api/types/inline_query_result_voice.rst (86%) rename docs2/{source => }/api/types/input_contact_message_content.rst (75%) rename docs2/{source => }/api/types/input_file.rst (75%) rename docs2/{source => }/api/types/input_location_message_content.rst (75%) rename docs2/{source => }/api/types/input_media.rst (77%) rename docs2/{source => }/api/types/input_media_animation.rst (72%) rename docs2/{source => }/api/types/input_media_audio.rst (67%) rename docs2/{source => }/api/types/input_media_document.rst (66%) rename docs2/{source => }/api/types/input_media_photo.rst (63%) rename docs2/{source => }/api/types/input_media_video.rst (63%) rename docs2/{source => }/api/types/input_message_content.rst (82%) rename docs2/{source => }/api/types/input_text_message_content.rst (73%) rename docs2/{source => }/api/types/input_venue_message_content.rst (74%) rename docs2/{source => }/api/types/invoice.rst (62%) rename docs2/{source => }/api/types/keyboard_button.rst (88%) rename docs2/{source => }/api/types/keyboard_button_poll_type.rst (76%) rename docs2/{source => }/api/types/labeled_price.rst (67%) rename docs2/{source => }/api/types/location.rst (60%) rename docs2/{source => }/api/types/login_url.rst (84%) rename docs2/{source => }/api/types/mask_position.rst (69%) rename docs2/{source => }/api/types/message.rst (58%) rename docs2/{source => }/api/types/message_entity.rst (71%) rename docs2/{source => }/api/types/order_info.rst (63%) rename docs2/{source => }/api/types/passport_data.rst (69%) rename docs2/{source => }/api/types/passport_element_error.rst (87%) rename docs2/{source => }/api/types/passport_element_error_data_field.rst (79%) rename docs2/{source => }/api/types/passport_element_error_file.rst (76%) rename docs2/{source => }/api/types/passport_element_error_files.rst (77%) rename docs2/{source => }/api/types/passport_element_error_front_side.rst (79%) rename docs2/{source => }/api/types/passport_element_error_reverse_side.rst (79%) rename docs2/{source => }/api/types/passport_element_error_selfie.rst (77%) rename docs2/{source => }/api/types/passport_element_error_translation_file.rst (80%) rename docs2/{source => }/api/types/passport_element_error_translation_files.rst (80%) rename docs2/{source => }/api/types/passport_element_error_unspecified.rst (77%) rename docs2/{source => }/api/types/passport_file.rst (75%) rename docs2/{source => }/api/types/photo_size.rst (66%) rename docs2/{source => }/api/types/poll.rst (58%) rename docs2/{source => }/api/types/poll_answer.rst (66%) rename docs2/{source => }/api/types/poll_option.rst (66%) rename docs2/{source => }/api/types/pre_checkout_query.rst (69%) rename docs2/{source => }/api/types/reply_keyboard_markup.rst (74%) rename docs2/{source => }/api/types/reply_keyboard_remove.rst (85%) rename docs2/{source => }/api/types/response_parameters.rst (69%) rename docs2/{source => }/api/types/shipping_address.rst (65%) rename docs2/{source => }/api/types/shipping_option.rst (65%) rename docs2/{source => }/api/types/shipping_query.rst (67%) rename docs2/{source => }/api/types/sticker.rst (58%) rename docs2/{source => }/api/types/sticker_set.rst (61%) rename docs2/{source => }/api/types/successful_payment.rst (69%) rename docs2/{source => }/api/types/update.rst (70%) rename docs2/{source => }/api/types/user.rst (58%) rename docs2/{source => }/api/types/user_profile_photos.rst (67%) rename docs2/{source => }/api/types/venue.rst (56%) rename docs2/{source => }/api/types/video.rst (57%) rename docs2/{source => }/api/types/video_note.rst (67%) rename docs2/{source => }/api/types/voice.rst (57%) rename docs2/{source => }/api/types/webhook_info.rst (65%) rename docs2/{source => }/api/upload_file.rst (100%) rename docs2/{source => }/conf.py (91%) create mode 100644 docs2/dispatcher/dispatcher.rst create mode 100644 docs2/dispatcher/index.rst create mode 100644 docs2/dispatcher/observer.rst create mode 100644 docs2/dispatcher/router.rst rename docs2/{source => }/index.rst (97%) rename docs2/{source => }/install.rst (100%) diff --git a/.gitignore b/.gitignore index e4189c4f..1f3e1971 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea/ +.vscode/ __pycache__/ *.py[cod] diff --git a/aiogram/dispatcher/event/event.py b/aiogram/dispatcher/event/event.py index 29aa4580..ef87d329 100644 --- a/aiogram/dispatcher/event/event.py +++ b/aiogram/dispatcher/event/event.py @@ -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 + + .register(my_handler) + + .. code-block:: python + + @() + async def my_handler(*args, **kwargs): ... """ def __init__(self) -> None: diff --git a/aiogram/dispatcher/event/telegram.py b/aiogram/dispatcher/event/telegram.py index e72d5db3..00164856 100644 --- a/aiogram/dispatcher/event/telegram.py +++ b/aiogram/dispatcher/event/telegram.py @@ -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: - >>> @.middleware() # via decorator (variant 1) - >>> @.middleware # via decorator (variant 2) - >>> async def my_middleware(handler, event, data): ... - >>> .middleware(middleware) # via method + + .. code-block:: python + + @.middleware() # via decorator (variant 1) + + .. code-block:: python + + @.middleware # via decorator (variant 2) + + .. code-block:: python + + async def my_middleware(handler, event, data): ... + .middleware(my_middleware) # via method """ def wrapper(m: MiddlewareType) -> MiddlewareType: @@ -174,10 +186,19 @@ class TelegramEventObserver: Decorator for registering outer middlewares Usage: - >>> @.outer_middleware() # via decorator (variant 1) - >>> @.outer_middleware # via decorator (variant 2) - >>> async def my_middleware(handler, event, data): ... - >>> .outer_middleware(my_middleware) # via method + + .. code-block:: python + + @.outer_middleware() # via decorator (variant 1) + + .. code-block:: python + + @.outer_middleware # via decorator (variant 2) + + .. code-block:: python + + async def my_middleware(handler, event, data): ... + .outer_middleware(my_middleware) # via method """ def wrapper(m: MiddlewareType) -> MiddlewareType: diff --git a/aiogram/dispatcher/router.py b/aiogram/dispatcher/router.py index 7680454e..641b293d 100644 --- a/aiogram/dispatcher/router.py +++ b/aiogram/dispatcher/router.py @@ -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..register(handler, )` + - By decorator - :obj:`@router.()` + """ 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 diff --git a/docs2/Makefile b/docs2/Makefile index 84ae0cb1..f48952a6 100644 --- a/docs2/Makefile +++ b/docs2/Makefile @@ -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". diff --git a/docs2/_static/basics_middleware.png b/docs2/_static/basics_middleware.png new file mode 100644 index 0000000000000000000000000000000000000000..b4165e2ec2401143a74714e27699cca195e1d30b GIT binary patch literal 52245 zcmeFYz@(XkE3;k=NrmUx-&d4VR zy>@YQwuAmC+1WU|{c9oz@^o{BmMDtwbMbHq@bd6;3GqV9b%FLkPsjfu<)89)-av={ zC@uu>)b(?9_fS#L0Sf8sI_VfXK>njJ#Lm;p(GC2cYP|ehyj=YMdEo8uZug&32RAnd z7igb+jQk2v+x@qZpzfU%sPj@N&LfPqkD|I57EP|I*a zHT@@q*TCM|#@o$TL7NAt?4_+@AQ+%5qwXxCDXR@M(NuR;)79`Y)&uCcIQppTLdWDJ z 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%0D`)^icMb+xAUgy!x%;?Ig@DY|Y2@ZP>vn56Fu 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 T6xdxq2mU>fRFo(Z)ARZ-fB8-# literal 0 HcmV?d00001 diff --git a/docs2/_static/nested_routers_example.png b/docs2/_static/nested_routers_example.png new file mode 100644 index 0000000000000000000000000000000000000000..8ccd824f8a26dfb988893425254c93340554265e GIT binary patch literal 40109 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 +- `Observer `__ + + +.. autoclass:: aiogram.dispatcher.dispatcher.Dispatcher + :members: __init__, feed_update, feed_raw_update, feed_webhook_update, start_polling, run_polling + + +Simple usage +============ + +Example: + +.. code-block:: python + + dp = Dispatcher() + + @dp.message() + async def message_handler(message: types.Message) -> None: + await SendMessage(chat_id=message.from_user.id, text=message.text) + + +Including routers + +Example: + + +.. code-block:: python + + dp = Dispatcher() + router1 = Router() + dp.include_router(router1) + +Handling updates +================ + +All updates can be propagated to the dispatcher by :obj:`Dispatcher.feed_update(bot=..., update=...)` method: + +.. code-block:: python + + bot = Bot(...) + dp = Dispathcher() + + ... + + result = await dp.feed_update(bot=bot, update=incoming_update) + +Polling +======= + +.. warning:: + + not yet docummented + +... + +Webhook +======= + +.. warning:: + + not yet docummented + +... diff --git a/docs2/dispatcher/index.rst b/docs2/dispatcher/index.rst new file mode 100644 index 00000000..36b27ec8 --- /dev/null +++ b/docs2/dispatcher/index.rst @@ -0,0 +1,22 @@ +=============== +Handling events +=============== + +*aiogram* imcludes Dispatcher mechanism. +Dispatcher is needed for handling incoming updates from Telegram. + +With dispatcher you can do: + +- Handle incoming updates; +- Filter incoming events before it will be processed by specific handler; +- Modify event and related data in middlewares; +- Separate bot functionality between different handlers, modules and packages + +Dispatcher is also separated into two entities - Router and Dispatcher. +Dispatcher is subclass of router and should be always is root router. + +.. toctree:: + + observer + router + dispatcher diff --git a/docs2/dispatcher/observer.rst b/docs2/dispatcher/observer.rst new file mode 100644 index 00000000..44cc10df --- /dev/null +++ b/docs2/dispatcher/observer.rst @@ -0,0 +1,26 @@ +######## +Observer +######## + +Observer is used for filtering and handling different events. That is part of internal API with some public methods and is recommended to don't use methods is not listed here. + +In `aiogram` framework is available two variants of observer: + +- `EventObserver <#eventobserver>`__ +- `TelegramEventObserver <#telegrameventobserver>`__ + + +EventObserver +============= + +.. autoclass:: aiogram.dispatcher.event.event.EventObserver + :members: register, trigger, __call__ + :member-order: bysource + + +TelegramEventObserver +===================== + +.. autoclass:: aiogram.dispatcher.event.telegram.TelegramEventObserver + :members: register, trigger, __call__, bind_filter, middleware, outer_middleware + :member-order: bysource diff --git a/docs2/dispatcher/router.rst b/docs2/dispatcher/router.rst new file mode 100644 index 00000000..3e1a1b69 --- /dev/null +++ b/docs2/dispatcher/router.rst @@ -0,0 +1,181 @@ +###### +Router +###### + +.. autoclass:: aiogram.dispatcher.router.Router + :members: __init__, include_router + :show-inheritance: + + +Event observers +=============== + +.. warning:: + + All handlers is always should be an asynchronous. + Name of handler function is not important. Event argument name is also is not important but is recommended to don't overlap the name with contextual data in due to function can not accept two arguments with the same name. + +Here is list of available observers and examples how to register handlers (In examples used only @decorator-style): + +For examples used decorator-style registering handlers but if you dont like @decorators just use :obj:`.register(...)` method instead. + +Update +------ + +.. code-block:: python + + @router.update() + async def message_handler(update: types.Update) -> Any: pass + +.. note:: + + By default Router is already have an update handler which route all event types to another observers. + + +Message +------- + +.. code-block:: python + + @router.message() + async def message_handler(message: types.Message) -> Any: pass + + +Edited message +-------------- + +.. code-block:: python + + @router.edited_message() + async def edited_message_handler(edited_message: types.Message) -> Any: pass + +Channel post +------------ + +.. code-block:: python + + @router.channel_post() + async def channel_post_handler(channel_post: types.Message) -> Any: pass + +Edited channel post +------------------- + +.. code-block:: python + + @router.edited_channel_post() + async def edited_channel_post_handler(edited_channel_post: types.Message) -> Any: pass + + +Inline query +------------ + +.. code-block:: python + + @router.inline_query() + async def inline_query_handler(inline_query: types.Message) -> Any: pass + +Chosen inline query +------------------- + +.. code-block:: python + + @router.chosen_inline_result() + async def chosen_inline_result_handler(chosen_inline_result: types.ChosenInlineResult) -> Any: pass + +Callback query +-------------- + +.. code-block:: python + + @router.callback_query() + async def callback_query_handler(callback_query: types.CallbackQuery) -> Any: pass + +Shipping query +-------------- + +.. code-block:: python + + @router.shipping_query() + async def shipping_query_handler(shipping_query: types.ShippingQuery) -> Any: pass + +Pre checkout query +------------------ + +.. code-block:: python + + @router.pre_checkout_query() + async def pre_checkout_query_handler(pre_checkout_query: types.PreCheckoutQuery) -> Any: pass + +Poll +---- + +.. code-block:: python + + @router.poll() + async def poll_handler(poll: types.Poll) -> Any: pass + +Poll answer +----------- + +.. code-block:: python + + @router.poll_answer() + async def poll_answer_handler(poll_answer: types.PollAnswer) -> Any: pass + +Errors +------ + +.. code-block:: python + + @router.errors() + async def error_handler(exception: Exception) -> Any: pass + +Is useful for handling errors from other handlers + + +Nested routers +============== + +.. warning:: + + Routers by the way can be nested to an another routers with some limitations: + + 1. Router **CAN NOT** include itself + 1. Routers **CAN NOT** be used for circular including (router 1 include router 2, router 2 include router 3, router 3 include router 1) + + +Example: + +.. code-block:: python + :caption: module_2.py + :name: module_2 + + router2 = Router() + + @router2.message() + ... + + +.. code-block:: python + :caption: module_12.py + :name: module_1 + + from module_2 import router2 + + + router1 = Router() + router1.include_router(router2) + + +How it works? +------------- + +For example dispatcher has 2 routers, last one router is also have one nested router: + +.. image:: ../_static/nested_routers_example.png + :alt: Nested routers example + +In this case update propagation flow will have form: + +.. image:: ../_static/update_propagation_flow.png + :alt: Nested routers example diff --git a/docs2/source/index.rst b/docs2/index.rst similarity index 97% rename from docs2/source/index.rst rename to docs2/index.rst index 2821c9b0..8775c17a 100644 --- a/docs2/source/index.rst +++ b/docs2/index.rst @@ -70,7 +70,7 @@ Features Simple usage ------------ -.. literalinclude:: ../../examples/echo_bot.py +.. literalinclude:: ../examples/echo_bot.py Contents ======== @@ -80,3 +80,4 @@ Contents install api/index + dispatcher/index diff --git a/docs2/source/install.rst b/docs2/install.rst similarity index 100% rename from docs2/source/install.rst rename to docs2/install.rst diff --git a/docs2/make.bat b/docs2/make.bat index 9534b018..922152e9 100644 --- a/docs2/make.bat +++ b/docs2/make.bat @@ -7,8 +7,8 @@ REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) -set SOURCEDIR=source -set BUILDDIR=build +set SOURCEDIR=. +set BUILDDIR=_build if "%1" == "" goto help