Погружение в aiogram (#5 Отправка стикеров)

Погружение в aiogram (#5 Отправка стикеров)

icon strelka icons icons

узнай больше на курсе

Python программист с нуля
Напиши первый код и собери проекты на Python: 4 месяца онлайн в своём темпе, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Java-разработчик с нуля
Освой Java, ООП и Spring и собери первые проекты: 4 месяца онлайн, практика с проверкой и сертификат. Смотри программу и тарифы.
Подробнее о курсе
C# разработчик с нуля
Освой C# и .NET и собери первые приложения: 4 месяца онлайн, практика с проверкой заданий и сертификат. Смотри программу и тарифы.
Подробнее о курсе

Введение

 

Продолжаем изучать функционал библиотеки aiogram для работы с Telegram ботом. И сейчас в этой статье мы узнаем, как бот может отправлять стикеры пользователю, с ним взаимодействующим. 

Note: Не забываем, что работаем с версией Python 3.9 и с версией библиотеки aiogram = 2.25.1 

Шаблон проекта можешь скачать с GitHub по ссылке → жми сюда (НЕ ЗАБУДЬ УКАЗАТЬ ТОКЕН СВОЕГО БОТА!)

Отправка стикеров

Для отправки любого вида контента, необходимо использовать объект класса Bot().

Что вообще представляет из себя стикер в Telegram?

Стикеры - это последовательность символов (будем называть её кодом), которые Telegram преобразует в картинку стикера. 

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

Последовательность символов выглядит так: CAACAgIAAxkBAAEM1H9m6zpk9-ylY6RxukmDLw3B9DzwZAACEgADA9OlHucXXe19Ah4mNgQ

Встаёт главный вопрос, где мы можем получить этот код?

Но и здесь всё просто, для этого специально был разработан бот Get Sticker ID. 

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

Но мы можем и сами узнать код стикера!

Для этого необходимо написать следующий хендлер.

Параметр content_types необходим, чтобы явно указать, какой тип контента мы ожидаем получить.

Запустим скрипт с этим хендлером и посмотрим, что отправит нам наш бот.

При отправке стикеров мы исправно получаем его код. А сейчас увидим, для чего же он нам так нужен.

Напишем хендлер, который будет обрабатываться при получении команды /sticker и отправлять стикер пользователю.

Для отправки стикера воспользуемся методом:  await bot.send_sticker().

В параметрах к методу указываем id пользователя, который получит данный стикер (message.from_user.id), в нашем случае это тот, кто и отправил команду /sticker и код стикера.

Проверяем работу скрипта

Получается всё так, как мы и хотели!

Чтобы не засорять диалог с ботом, при написании команды можно в скрипт добавить метод:

await message.delete()

Данный метод удаляет последнее отправленное сообщение боту.

Теперь при отправке команды /sticker бот будет удалять её и отправлять нам стикер.

Попробуй работу скрипта в деле! (НЕ ЗАБУДЬ УКАЗАТЬ ТОКЕН СВОЕГО БОТА)

Заключение

 

Сегодня мы узнали, как отправлять стикеры, познакомились с новым для себя ботом и смогли реализовать его функционал самостоятельно. Узнали метод для удаления отправленных пользователем сообщений. В следующей статье изучим, как отправлять фото, видео, аудио и документы с помощью бота.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Python программист с нуля
Напиши первый код и собери проекты на Python: 4 месяца онлайн в своём темпе, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Java-разработчик с нуля
Освой Java, ООП и Spring и собери первые проекты: 4 месяца онлайн, практика с проверкой и сертификат. Смотри программу и тарифы.
Подробнее о курсе
C# разработчик с нуля
Освой C# и .NET и собери первые приложения: 4 месяца онлайн, практика с проверкой заданий и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Фронтенд-разработчик с нуля
Освой HTML, CSS и JavaScript и свёрстай первые сайты: 4 месяца онлайн, практика и портфолио с сертификатом. Смотри программу.
Подробнее о курсе
Разработка приложений на Flutter и Dart
Собери кроссплатформенное приложение на Flutter и Dart: 2 месяца онлайн, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Автоматизированное тестирование на Python
Напиши автотесты на Python с Pytest и Selenium: 4 месяца онлайн, практика на реальных проектах и сертификат. Смотри программу.
Подробнее о курсе
Еще по теме:
Разбираем, какую AI-модель выбрать под задачу: ChatGPT, Claude, Gemini или NotebookLM - их сильные стороны и ограничения
Почему диалог с ИИ снижает продуктивность и как перейти к декларативному управлению задачами вместо бесконечных чат-сессий
Простое объяснение 20 базовых концепций искусственного интеллекта: от нейросетей до агентов и RAG без сложных терминов.
Разбираем причины выгорания senior Android разработчиков: скрытая нагрузка, архитектурные решения и рост требований в экосистеме
Разбираем goroutine, mutex и waitgroup в Go на практическом примере с подсчетом частоты слов и параллельной обработкой данных.
ОСЕННИЕ СКИДКИ
30%
40%
50%
До конца акции: 30 дней 24 : 59 : 59