img

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

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

icon strelka icons icons

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

Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Java-разработчик с нуля
Освойте backend-разработку и программирование на Java, фреймворки Spring и Maven, работу с базами данных и API
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
C# разработчик с нуля
На курсе ты освоишь основы программирования на C#, включая синтаксис, объектно-ориентированное программирование и асинхронное программирование.
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту

Введение

 

Продолжаем изучать функционал библиотеки 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
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Java-разработчик с нуля
Освойте backend-разработку и программирование на Java, фреймворки Spring и Maven, работу с базами данных и API
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
C# разработчик с нуля
На курсе ты освоишь основы программирования на C#, включая синтаксис, объектно-ориентированное программирование и асинхронное программирование.
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Фронтенд-разработчик с нуля
Погрузитесь в мир веб-разработки, освоив основные инструменты работы: HTML, CSS, JavaScript
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Разработка приложений на Flutter и Dart
Научись создавать кроссплатформенные приложения на Flutter, освой язык Dart
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Автоматизированное тестирование на Python
Изучите автоматизацию тестирования на Python чтобы стать востребованным специалистом
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Еще по теме:
img
SQL или NoSQL, вот в чём вопрос! И как раз с этим вопросом мы поможем сегодня разобраться. Что использовать в каких случаях, где есть какие преимущества и как возможно использовать их все вместе.
img
Вебхуки позволяют различным системам обмениваться данными в реальном времени. В этой статье мы разберём, что такое вебхук, как он работает, где и зачем его использовать, а также как настроить.
img
Redis — один из самых популярных инструментов для хранения данных. В статье разбираем, что такое Redis и как его можно использовать.
img
Маска подсети помогает определить, какие устройства находятся в одной сети, а какие – за её пределами. В этой статье разберём, что такое маска подсети, зачем она нужна и как её использовать.
img
Деплой (развертывание) приложения — это этап разработки, на котором приложение размещается и запускается на сервере. Это позволяет начать его использование. В статье разберемся, как это происходит.
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59