.coveragerc
.gitignore
.pytest.ini
.readthedocs.yaml
.ruff.toml
LICENSE
MANIFEST.in
Makefile
README.md
make.bat
pyproject.toml
requirements_dev.txt
requirements_doc.txt
.github/workflows/publish.yml
.github/workflows/setup.yml
docs/conf.py
docs/faq.rst
docs/group_business.rst
docs/index.rst
docs/migration.rst
docs/bg/index.rst
docs/helper_tools/import.py
docs/helper_tools/import_preview.py
docs/helper_tools/index.rst
docs/helper_tools/install.sh
docs/helper_tools/preview_summary.py
docs/helper_tools/render.py
docs/helper_tools/render_hints.py
docs/helper_tools/render_preview.py
docs/helper_tools/render_preview_data.py
docs/helper_tools/web_preview.sh
docs/how_are_messages_updated/example.py
docs/how_are_messages_updated/index.rst
docs/overview/index.rst
docs/quickstart/bot.py
docs/quickstart/dialog.py
docs/quickstart/index.rst
docs/quickstart/install.sh
docs/quickstart/register.py
docs/quickstart/setup_dialogs.py
docs/quickstart/sg.py
docs/quickstart/start.py
docs/quickstart/start_bot.py
docs/quickstart/summary.py
docs/quickstart/window.py
docs/resources/button.png
docs/resources/calendar_custom.png
docs/resources/calendar_days.png
docs/resources/calendar_months.png
docs/resources/calendar_years.png
docs/resources/case.png
docs/resources/checkbox_checked.png
docs/resources/checkbox_unchecked.png
docs/resources/column.png
docs/resources/const.png
docs/resources/dynamic_media.png
docs/resources/format.png
docs/resources/getter.png
docs/resources/group.png
docs/resources/group_width.png
docs/resources/layout_example.png
docs/resources/layout_example2.png
docs/resources/list.png
docs/resources/login_url.png
docs/resources/multiselect.png
docs/resources/passing_data_example.png
docs/resources/progress.png
docs/resources/quickstart.png
docs/resources/radio.png
docs/resources/render_hints.png
docs/resources/render_preview_result.png
docs/resources/render_simple.png
docs/resources/request_poll.png
docs/resources/row.png
docs/resources/scrolling_group1.png
docs/resources/scrolling_group2.png
docs/resources/select.png
docs/resources/stack_transitions.png
docs/resources/static_media.png
docs/resources/switch_inline_query_chosen_chat.png
docs/resources/switch_inline_query_current_chat.png
docs/resources/switchstate.png
docs/resources/toggle.gif
docs/resources/url.png
docs/resources/whenable.png
docs/resources/whenable_extended.png
docs/resources/window_example.png
docs/transitions/buttons.py
docs/transitions/done.py
docs/transitions/index.rst
docs/transitions/launchmode.py
docs/transitions/start.py
docs/transitions/startmode.py
docs/transitions/switch.py
docs/widgets/index.rst
docs/widgets/custom_widgets/index.rst
docs/widgets/custom_widgets/switch_inline_query_current_chat/example.py
docs/widgets/custom_widgets/switch_inline_query_current_chat/index.rst
docs/widgets/hiding/example.py
docs/widgets/hiding/index.rst
docs/widgets/input/index.rst
docs/widgets/input/message_input/example.py
docs/widgets/input/message_input/index.rst
docs/widgets/input/text_input/example.py
docs/widgets/input/text_input/index.rst
docs/widgets/keyboard/index.rst
docs/widgets/keyboard/button/example.py
docs/widgets/keyboard/button/index.rst
docs/widgets/keyboard/calendar/custom.py
docs/widgets/keyboard/calendar/example.py
docs/widgets/keyboard/calendar/index.rst
docs/widgets/keyboard/cancel/equal_solution.py
docs/widgets/keyboard/cancel/example.py
docs/widgets/keyboard/cancel/index.rst
docs/widgets/keyboard/checkbox/example.py
docs/widgets/keyboard/checkbox/index.rst
docs/widgets/keyboard/column/example.py
docs/widgets/keyboard/column/index.rst
docs/widgets/keyboard/counter/example.py
docs/widgets/keyboard/counter/index.rst
docs/widgets/keyboard/group/example.py
docs/widgets/keyboard/group/example_width.py
docs/widgets/keyboard/group/index.rst
docs/widgets/keyboard/list_group/example.py
docs/widgets/keyboard/list_group/index.rst
docs/widgets/keyboard/login_url/example.py
docs/widgets/keyboard/login_url/index.rst
docs/widgets/keyboard/multiselect/example.py
docs/widgets/keyboard/multiselect/index.rst
docs/widgets/keyboard/next_and_back/equal_solution.py
docs/widgets/keyboard/next_and_back/example.py
docs/widgets/keyboard/next_and_back/index.rst
docs/widgets/keyboard/radio/example.py
docs/widgets/keyboard/radio/index.rst
docs/widgets/keyboard/request_poll/example.py
docs/widgets/keyboard/request_poll/index.rst
docs/widgets/keyboard/row/example.py
docs/widgets/keyboard/row/index.rst
docs/widgets/keyboard/scrolling_group/example.py
docs/widgets/keyboard/scrolling_group/index.rst
docs/widgets/keyboard/select/example.py
docs/widgets/keyboard/select/index.rst
docs/widgets/keyboard/start/equal_solution.py
docs/widgets/keyboard/start/example.py
docs/widgets/keyboard/start/index.rst
docs/widgets/keyboard/switch_inline_query/example.py
docs/widgets/keyboard/switch_inline_query/index.rst
docs/widgets/keyboard/switch_inline_query_chosen_chat/example.py
docs/widgets/keyboard/switch_inline_query_chosen_chat/index.rst
docs/widgets/keyboard/switch_inline_query_current_chat/example.py
docs/widgets/keyboard/switch_inline_query_current_chat/index.rst
docs/widgets/keyboard/switch_to/equal_solution.py
docs/widgets/keyboard/switch_to/example.py
docs/widgets/keyboard/switch_to/index.rst
docs/widgets/keyboard/time/index.rst
docs/widgets/keyboard/toggle/example.py
docs/widgets/keyboard/toggle/index.rst
docs/widgets/keyboard/url/example.py
docs/widgets/keyboard/url/index.rst
docs/widgets/link_preview/example.py
docs/widgets/link_preview/index.rst
docs/widgets/media/index.rst
docs/widgets/media/dynamic_media/example.py
docs/widgets/media/dynamic_media/index.rst
docs/widgets/media/other_media_sources/example.py
docs/widgets/media/other_media_sources/index.rst
docs/widgets/media/static_media/example.py
docs/widgets/media/static_media/index.rst
docs/widgets/passing_data/data_in_handlers.py
docs/widgets/passing_data/example.py
docs/widgets/passing_data/index.rst
docs/widgets/style/index.rst
docs/widgets/text/index.rst
docs/widgets/text/case/example.py
docs/widgets/text/case/index.rst
docs/widgets/text/const/example.py
docs/widgets/text/const/index.rst
docs/widgets/text/format/example.py
docs/widgets/text/format/index.rst
docs/widgets/text/jinja/example.html
docs/widgets/text/jinja/example.py
docs/widgets/text/jinja/index.rst
docs/widgets/text/list/example.py
docs/widgets/text/list/index.rst
docs/widgets/text/multi/example.py
docs/widgets/text/multi/index.rst
docs/widgets/text/progress/bg_manager_example.py
docs/widgets/text/progress/example.py
docs/widgets/text/progress/index.rst
docs/widgets/text/progress/prevent_new_message.py
example/custom_media_url.py
example/input_media_group.py
example/launch_modes.py
example/list_group.py
example/loading.py
example/multistack.py
example/python_logo.png
example/scrolls.py
example/simple.py
example/subdialog.py
example/wizard.py
example/i18n/bot.py
example/i18n/i18n_format.py
example/i18n/i18n_middleware.py
example/i18n/translations/en/main.ftl
example/mega/bot.py
example/mega/bot_dialogs/__init__.py
example/mega/bot_dialogs/calendar.py
example/mega/bot_dialogs/common.py
example/mega/bot_dialogs/counter.py
example/mega/bot_dialogs/layouts.py
example/mega/bot_dialogs/link_preview.py
example/mega/bot_dialogs/main.py
example/mega/bot_dialogs/mutltiwidget.py
example/mega/bot_dialogs/reply_buttons.py
example/mega/bot_dialogs/scrolls.py
example/mega/bot_dialogs/select.py
example/mega/bot_dialogs/states.py
example/mega/bot_dialogs/switch.py
example/mega/media/1.png
example/mega/media/2.png
example/mega/media/3.png
example/mega/media/4.png
example/mega/media/5.png
example/mega/media/6.png
example/mega/media/7.png
src/aiogram_dialog/__init__.py
src/aiogram_dialog/_version.py
src/aiogram_dialog/about.py
src/aiogram_dialog/dialog.py
src/aiogram_dialog/py.typed
src/aiogram_dialog/setup.py
src/aiogram_dialog/utils.py
src/aiogram_dialog/window.py
src/aiogram_dialog.egg-info/PKG-INFO
src/aiogram_dialog.egg-info/SOURCES.txt
src/aiogram_dialog.egg-info/dependency_links.txt
src/aiogram_dialog.egg-info/entry_points.txt
src/aiogram_dialog.egg-info/requires.txt
src/aiogram_dialog.egg-info/top_level.txt
src/aiogram_dialog/api/__init__.py
src/aiogram_dialog/api/exceptions.py
src/aiogram_dialog/api/entities/__init__.py
src/aiogram_dialog/api/entities/access.py
src/aiogram_dialog/api/entities/context.py
src/aiogram_dialog/api/entities/events.py
src/aiogram_dialog/api/entities/launch_mode.py
src/aiogram_dialog/api/entities/media.py
src/aiogram_dialog/api/entities/modes.py
src/aiogram_dialog/api/entities/new_message.py
src/aiogram_dialog/api/entities/stack.py
src/aiogram_dialog/api/entities/update_event.py
src/aiogram_dialog/api/internal/__init__.py
src/aiogram_dialog/api/internal/fake_data.py
src/aiogram_dialog/api/internal/manager.py
src/aiogram_dialog/api/internal/middleware.py
src/aiogram_dialog/api/internal/widgets.py
src/aiogram_dialog/api/internal/window.py
src/aiogram_dialog/api/protocols/__init__.py
src/aiogram_dialog/api/protocols/dialog.py
src/aiogram_dialog/api/protocols/manager.py
src/aiogram_dialog/api/protocols/media.py
src/aiogram_dialog/api/protocols/message_manager.py
src/aiogram_dialog/api/protocols/registry.py
src/aiogram_dialog/api/protocols/stack_access.py
src/aiogram_dialog/context/__init__.py
src/aiogram_dialog/context/access_validator.py
src/aiogram_dialog/context/intent_filter.py
src/aiogram_dialog/context/intent_middleware.py
src/aiogram_dialog/context/media_storage.py
src/aiogram_dialog/context/storage.py
src/aiogram_dialog/manager/__init__.py
src/aiogram_dialog/manager/bg_manager.py
src/aiogram_dialog/manager/manager.py
src/aiogram_dialog/manager/manager_factory.py
src/aiogram_dialog/manager/manager_middleware.py
src/aiogram_dialog/manager/message_manager.py
src/aiogram_dialog/manager/sub_manager.py
src/aiogram_dialog/manager/update_handler.py
src/aiogram_dialog/manager/updater.py
src/aiogram_dialog/test_tools/__init__.py
src/aiogram_dialog/test_tools/bot_client.py
src/aiogram_dialog/test_tools/keyboard.py
src/aiogram_dialog/test_tools/memory_storage.py
src/aiogram_dialog/test_tools/mock_message_manager.py
src/aiogram_dialog/tools/__init__.py
src/aiogram_dialog/tools/calculator.png
src/aiogram_dialog/tools/preview.py
src/aiogram_dialog/tools/transitions.py
src/aiogram_dialog/tools/web_preview.py
src/aiogram_dialog/tools/templates/__init__.py
src/aiogram_dialog/tools/templates/message.html
src/aiogram_dialog/widgets/__init__.py
src/aiogram_dialog/widgets/utils.py
src/aiogram_dialog/widgets/widget_event.py
src/aiogram_dialog/widgets/common/__init__.py
src/aiogram_dialog/widgets/common/action.py
src/aiogram_dialog/widgets/common/base.py
src/aiogram_dialog/widgets/common/case.py
src/aiogram_dialog/widgets/common/items.py
src/aiogram_dialog/widgets/common/managed.py
src/aiogram_dialog/widgets/common/scroll.py
src/aiogram_dialog/widgets/common/when.py
src/aiogram_dialog/widgets/data/__init__.py
src/aiogram_dialog/widgets/data/data_context.py
src/aiogram_dialog/widgets/input/__init__.py
src/aiogram_dialog/widgets/input/base.py
src/aiogram_dialog/widgets/input/combined.py
src/aiogram_dialog/widgets/input/text.py
src/aiogram_dialog/widgets/kbd/__init__.py
src/aiogram_dialog/widgets/kbd/base.py
src/aiogram_dialog/widgets/kbd/button.py
src/aiogram_dialog/widgets/kbd/calendar_kbd.py
src/aiogram_dialog/widgets/kbd/checkbox.py
src/aiogram_dialog/widgets/kbd/copy.py
src/aiogram_dialog/widgets/kbd/counter.py
src/aiogram_dialog/widgets/kbd/group.py
src/aiogram_dialog/widgets/kbd/list_group.py
src/aiogram_dialog/widgets/kbd/pager.py
src/aiogram_dialog/widgets/kbd/request.py
src/aiogram_dialog/widgets/kbd/scrolling_group.py
src/aiogram_dialog/widgets/kbd/select.py
src/aiogram_dialog/widgets/kbd/state.py
src/aiogram_dialog/widgets/kbd/stub_scroll.py
src/aiogram_dialog/widgets/kbd/time.py
src/aiogram_dialog/widgets/link_preview/__init__.py
src/aiogram_dialog/widgets/link_preview/base.py
src/aiogram_dialog/widgets/markup/__init__.py
src/aiogram_dialog/widgets/markup/force_reply.py
src/aiogram_dialog/widgets/markup/inline_keyboard.py
src/aiogram_dialog/widgets/markup/reply_keyboard.py
src/aiogram_dialog/widgets/media/__init__.py
src/aiogram_dialog/widgets/media/base.py
src/aiogram_dialog/widgets/media/dynamic.py
src/aiogram_dialog/widgets/media/scroll.py
src/aiogram_dialog/widgets/media/static.py
src/aiogram_dialog/widgets/style/__init__.py
src/aiogram_dialog/widgets/style/base.py
src/aiogram_dialog/widgets/style/multi.py
src/aiogram_dialog/widgets/text/__init__.py
src/aiogram_dialog/widgets/text/base.py
src/aiogram_dialog/widgets/text/format.py
src/aiogram_dialog/widgets/text/jinja.py
src/aiogram_dialog/widgets/text/list.py
src/aiogram_dialog/widgets/text/multi.py
src/aiogram_dialog/widgets/text/progress.py
src/aiogram_dialog/widgets/text/scrolling_text.py
tests/test_click.py
tests/test_create.py
tests/test_dialog_state_validation.py
tests/test_events.py
tests/test_exception_notes.py
tests/test_fg.py
tests/test_group.py
tests/test_isolation.py
tests/test_nested_transitions.py
tests/test_transitions.py
tests/test_utils.py
tests/widgets/__init__.py
tests/widgets/conftest.py
tests/widgets/kbd/__init__.py
tests/widgets/kbd/test_base.py
tests/widgets/kbd/test_calendar.py
tests/widgets/kbd/test_checkbox.py
tests/widgets/kbd/test_column.py
tests/widgets/kbd/test_counter.py
tests/widgets/kbd/test_group.py
tests/widgets/kbd/test_multiselect.py
tests/widgets/kbd/test_radio.py
tests/widgets/kbd/test_row.py
tests/widgets/kbd/test_select.py
tests/widgets/kbd/test_time.py
tests/widgets/kbd/test_toggle.py
tests/widgets/kbd/test_url.py
tests/widgets/media/__init__.py
tests/widgets/media/test_base.py
tests/widgets/media/test_media_message.py
tests/widgets/media/test_media_storage.py
tests/widgets/media/test_scroll.py
tests/widgets/style/__init__.py
tests/widgets/style/test_base.py
tests/widgets/text/__init__.py
tests/widgets/text/test_base.py
tests/widgets/text/test_case.py
tests/widgets/text/test_format.py
tests/widgets/text/test_jinja.py
tests/widgets/text/test_multi.py