aiogram добавил поддержку Bot API 5.6

Асинхронный фреймворк для разработки Telegram-ботов на Python добавил поддержку новой версии Telegram Bot API. Давайте разберёмся как пользоваться нововведениями…

Защищённый контент

Для методов, связанных с отправкой сообщений, Telegram добавил параметр protected_content. В aiogram этот параметр доступен не только в оригинальных методах, но и во всех шорткатах (сокращённых методах при объектах). Пример:

@dp.message_handler(commands=['protected']) async def handle_protected_command(message: Message): """Handle /protected command and answer with protected message.""" text = "This is protected message" await message.answer(text, protect_content=True)

Спойлеры

В Telegram Bot API была добавлена поддержка разметки "spoiler", скрывающей содержимое сообщения до первого клика.

Для удобной реализации спойлеров, в утилиты разметки aiogram были добавлены методы spoiler (форматирование MarkdownV2) и hspoiler (форматирование HTML)

from aiogram.utils.markdown import hspoiler @dp.message_handler(commands=['spoiler']) async def handle_spoiler_command(message: Message): """Handle /spoiler command and answer with spoiler.""" hidden_text = hspoiler("Spider-Man == Peter Parker") text = f"Spoiler: {hidden_text}" await message.answer(text, parse_mode=ParseMode.HTML)

Другие обновления

Помимо обновлений, связанных с Telegram Bot API, в aiogram были добавлены ещё несколько обновлений

Представление объектов

Раньше, при печати объектов, они выглядели так:

<aiogram.types.message.Message object at 0x101d94c40>

Теперь выглядят так:

<Message {"message_id": 560, "from": {"id": 66812456, "is_bot": false, "first_name": "Oleg", "last_name": "A. 🇷🇺", "username": "Oleg_Oleg_Oleg", "language_code": "en"}, "chat": {"id": 66812456, "first_name": "Oleg", "last_name": "A. 🇷🇺", "username": "Oleg_Oleg_Oleg", "type": "private"}, "date": 1640355914, "text": "/start", "entities": [{"type": "bot_command", "offset": 0, "length": 6}]}>]

Скрытие превью по-умолчанию

Если в большинстве отправляемых сообщений вы скрываете превью для ссылок, то при инициализации бота, вы можете указать параметр disable_web_page_preview=True, который определит поведение по-умолчанию. Таким образом вам не нужно будет передавать этот параметр при каждой отправке сообщения.

bot = Bot( ..., disable_web_page_preview=True, ) @dp.message_handler(commands=['url']) async def handle_url_command(message: Message): """Handle /url command and answer without preview.""" await message.answer("My website: https://example.com")

Ссылки

Установить обновлённую версию фреймворка можно командой

python3 -m pip install -U aiogram

Для тех, кто ещё не знаком с фреймворком, будут полезны следующие ссылки:

0
3 комментария
Популярные
По порядку
Mihael Isaev

Тоже что ли начать публиковать тут все апдейты своих фреймворков 😁 http://github.com/MihaelIsaev

Ответить
1
Развернуть ветку
badResistor

хабр не торт, надо тут писать.
Жду подсайта наука и тоже начну постить)

Ответить
1
Развернуть ветку
Леонид М

Что в нем изменилось? Года 2-3 не читал

В нем не изменилось ничего и кто-то также туда не ходит?

Ответить
0
Развернуть ветку
Читать все 3 комментария
Сбербанк совершил подлог-сфальсифицировал в ЛК отказ заемщика от ипотеки

3 ноября 2021 года была одобрена ипотека №36358988 на мою супругу, я выступаю как созаемщик.

Статус бота Veles

Хоть кто-то был в курсе?

Как пандемия изменила рынок онлайн-страхования

Выяснили и рассказываем, как изменился онлайн-спрос на услуги страхования с начала пандемии.

Российскую операционную систему «Фантом» довели до тестирования после 12 лет разработки с нуля Статьи редакции

Система использует необычную архитектуру, не похожую на Windows и Linux.

Система «Фантом» в виртуальной машине QEMU
«Холакратия, любимые мемчики и прозрачность»: программист о работе в Точке, моделинге и запуске треков на Spotify

Точка — это про людей. Про сотрудников, которые создают удобный банк для бизнеса. Мы запускаем серию интервью с нашей командой, чтобы рассказать, как у нас всё устроено.

Ты всё ещё доверяешь калькуляторам веб сервисов ?

При поиске жилья наткнулся на интересный калькулятор "Копить или купить" от ЦИАН.

ИКЕА смогла предоставить самый худший клиентский сервис в моей жизни
«Инновации — это поле для сражений»

Как фуд-ритейл внедряет новые технологии.

Как Яндекс Маркет забрал у меня товара на 600 тысяч и не хочет возвращать

Предыстория

В Москве появился фонд, инвестирующий в перспективные транспортные проекты

Фонд развития московского транспорта будет поддерживать стартапы, разрабатывающие прорывные технологии.

null