mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-13 10:26:53 +00:00
271 lines
8.3 KiB
Text
271 lines
8.3 KiB
Text
# SOME DESCRIPTIVE TITLE.
|
|
# Copyright (C) 2023, aiogram Team
|
|
# This file is distributed under the same license as the aiogram package.
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
|
|
#
|
|
#, fuzzy
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: aiogram \n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2023-07-30 18:31+0300\n"
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
"Generated-By: Babel 2.12.1\n"
|
|
|
|
#: ../../migration_2_to_3.rst:3
|
|
msgid "Migration FAQ (2.x -> 3.0)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:7
|
|
msgid "This guide is still in progress."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:9
|
|
msgid ""
|
|
"This version introduces much many breaking changes and architectural "
|
|
"improvements, helping to reduce global variables count in your code, "
|
|
"provides useful mechanisms to separate your code to modules or just make "
|
|
"sharable modules via packages on the PyPi, makes middlewares and filters "
|
|
"more controllable and others."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:14
|
|
msgid ""
|
|
"On this page you can read about points that changed corresponding to last"
|
|
" stable 2.x version."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:18
|
|
msgid ""
|
|
"This page is most like a detailed changelog than a migration guide, but "
|
|
"it will be updated in the future."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:21
|
|
msgid ""
|
|
"Feel free to contribute to this page, if you find something that is not "
|
|
"mentioned here."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:25
|
|
msgid "Dispatcher"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:27
|
|
msgid ""
|
|
":class:`Dispatcher` class no longer accepts the `Bot` instance into the "
|
|
"initializer, it should be passed to dispatcher only for starting polling "
|
|
"or handling event from webhook. Also this way adds possibility to use "
|
|
"multiple bot instances at the same time (\"multibot\")"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:30
|
|
msgid ""
|
|
":class:`Dispatcher` now can be extended with another Dispatcher-like "
|
|
"thing named :class:`Router` (:ref:`Read more » <Nested routers>`). With "
|
|
"routes you can easily separate your code to multiple modules and may be "
|
|
"share this modules between projects."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:34
|
|
msgid ""
|
|
"Removed the **_handler** suffix from all event handler decorators and "
|
|
"registering methods. (:ref:`Read more » <Event observers>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:36
|
|
msgid ""
|
|
"Executor entirely removed, now you can use Dispatcher directly to start "
|
|
"polling or webhook."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:37
|
|
msgid ""
|
|
"Throttling method is completely removed, now you can use middlewares to "
|
|
"control the execution context and use any throttling mechanism you want."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:39
|
|
msgid ""
|
|
"Removed global context variables from the API types, Bot and Dispatcher "
|
|
"object, from now if you want to get current bot instance inside handlers "
|
|
"or filters you should accept the argument :code:`bot: Bot` and use it "
|
|
"instead of :code:`Bot.get_current()` Inside middlewares it can be "
|
|
"accessed via :code:`data[\"bot\"]`."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:46
|
|
msgid "Filtering events"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:48
|
|
msgid ""
|
|
"Keyword filters can no more be used, use filters explicitly. (`Read more "
|
|
"» <https://github.com/aiogram/aiogram/issues/942>`_)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:49
|
|
msgid ""
|
|
"In due to keyword filters was removed all enabled by default filters "
|
|
"(state and content_type now is not enabled), so you should specify them "
|
|
"explicitly if you want to use. For example instead of using "
|
|
":code:`@dp.message_handler(content_types=ContentType.PHOTO)` you should "
|
|
"use :code:`@router.message(F.photo)`"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:53
|
|
msgid ""
|
|
"Most of common filters is replaced by \"magic filter\". (:ref:`Read more "
|
|
"» <magic-filters>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:54
|
|
msgid ""
|
|
"Now by default message handler receives any content type, if you want "
|
|
"specific one just add the filters (Magic or any other)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:56
|
|
msgid ""
|
|
"State filter now is not enabled by default, that's mean if you using "
|
|
":code:`state=\"*\"` in v2 then you should not pass any state filter in "
|
|
"v3, and vice versa, if the state in v2 is not specified now you should "
|
|
"specify the state."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:59
|
|
msgid ""
|
|
"Added possibility to register per-router global filters, that helps to "
|
|
"reduces the number of repetitions in the code and makes easily way to "
|
|
"control for what each router will be used."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:65
|
|
msgid "Bot API"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:67
|
|
msgid ""
|
|
"Now all API methods is classes with validation (via `pydantic "
|
|
"<https://docs.pydantic.dev/>`_) (all API calls is also available as "
|
|
"methods in the Bot class)."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:69
|
|
msgid ""
|
|
"Added more pre-defined Enums and moved into `aiogram.enums` sub-package. "
|
|
"For example chat type enum now is :class:`aiogram.enums.ChatType` instead"
|
|
" of :class:`aiogram.types.chat.ChatType`. (:ref:`Read more » <enums>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:72
|
|
msgid ""
|
|
"Separated HTTP client session into container that can be reused between "
|
|
"different Bot instances in the application."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:74
|
|
msgid ""
|
|
"API Exceptions is no more classified by specific message in due to "
|
|
"Telegram has no documented error codes. But all errors is classified by "
|
|
"HTTP status code and for each method only one case can be caused with the"
|
|
" same code, so in most cases you should check that only error type (by "
|
|
"status-code) without checking error message. (:ref:`Read more » <error-"
|
|
"types>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:81
|
|
msgid "Middlewares"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:83
|
|
msgid ""
|
|
"Middlewares can now control a execution context, e.g. using context "
|
|
"managers (:ref:`Read more » <middlewares>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:84
|
|
msgid ""
|
|
"All contextual data now is shared between middlewares, filters and "
|
|
"handlers to end-to-end use. For example now you can easily pass some data"
|
|
" into context inside middleware and get it in the filters layer as the "
|
|
"same way as in the handlers via keyword arguments."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:87
|
|
msgid ""
|
|
"Added mechanism named **flags**, that helps to customize handler behavior"
|
|
" in conjunction with middlewares. (:ref:`Read more » <flags>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:92
|
|
msgid "Keyboard Markup"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:94
|
|
msgid ""
|
|
"Now :class:`aiogram.types.inline_keyboard_markup.InlineKeyboardMarkup` "
|
|
"and :class:`aiogram.types.reply_keyboard_markup.ReplyKeyboardMarkup` has "
|
|
"no methods to extend it, instead you have to use markup builders "
|
|
":class:`aiogram.utils.keyboard.ReplyKeyboardBuilder` and "
|
|
":class:`aiogram.utils.keyboard.KeyboardBuilder` respectively (:ref:`Read "
|
|
"more » <keyboard-builder>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:102
|
|
msgid "Callbacks data"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:104
|
|
msgid ""
|
|
"Callback data factory now is strictly typed via `pydantic "
|
|
"<https://docs.pydantic.dev/>`_ models (:ref:`Read more » <callback-data-"
|
|
"factory>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:109
|
|
msgid "Finite State machine"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:111
|
|
msgid ""
|
|
"State filter will no more added to all handlers, you will need to specify"
|
|
" state if you want"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:112
|
|
msgid ""
|
|
"Added possibility to change FSM strategy, for example if you want to "
|
|
"control state for each user in chat topics instead of user in chat you "
|
|
"can specify it in the Dispatcher."
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:117
|
|
msgid "Sending Files"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:119
|
|
msgid ""
|
|
"From now you should wrap sending files into InputFile object before send "
|
|
"instead of passing IO object directly to the API method. (:ref:`Read more"
|
|
" » <sending-files>`)"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:124
|
|
msgid "Webhook"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:126
|
|
msgid "Simplified aiohttp web app configuration"
|
|
msgstr ""
|
|
|
|
#: ../../migration_2_to_3.rst:127
|
|
msgid ""
|
|
"By default added possibility to upload files when you use reply into "
|
|
"webhook"
|
|
msgstr ""
|