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

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

Начни обучение в IT бесплатно

Вводная часть любого курса — без оплаты и привязки карты. DevOps, сети, программирование, QA и ещё 50+ курсов

  • Практика с первого урока
  • Эксперты-практики
  • Сертификат
Начать бесплатно

Введение

 

Продолжаем изучать функционал библиотеки 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 бот будет удалять её и отправлять нам стикер.

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

Заключение

 

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

Ссылка
скопирована
Для читателей Базы
Мы приготовили тебе подарок

Бесплатный урок и промокод на курс

Эта скидка − тебе!

Промокод на скидку −15% на любой курс и бесплатная часть

Эта скидка − тебе!

Промокод на скидку −15% на любой курс и бесплатная часть

−15%
Твой подарок ещё ждёт

Промокод на скидку
−15% на любой курс и бесплатная часть

Выбрать курс
Еще по теме:
Разбираем, какую AI-модель выбрать под задачу: ChatGPT, Claude, Gemini или NotebookLM - их сильные стороны и ограничения
Почему диалог с ИИ снижает продуктивность и как перейти к декларативному управлению задачами вместо бесконечных чат-сессий
Простое объяснение 20 базовых концепций искусственного интеллекта: от нейросетей до агентов и RAG без сложных терминов.
Разбираем причины выгорания senior Android разработчиков: скрытая нагрузка, архитектурные решения и рост требований в экосистеме
Разбираем goroutine, mutex и waitgroup в Go на практическом примере с подсчетом частоты слов и параллельной обработкой данных.
ОСЕННИЕ СКИДКИ
30%
40%
50%
До конца акции: 30 дней 24 : 59 : 59