img

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

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

 

Введение

 

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

 

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

 

Заключение

 

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Еще по теме:
img
SQL или NoSQL, вот в чём вопрос! И как раз с этим вопросом мы поможем сегодня разобраться. Что использовать в каких случаях, где есть какие преимущества и как возможно использовать их все вместе.
img
Вебхуки позволяют различным системам обмениваться данными в реальном времени. В этой статье мы разберём, что такое вебхук, как он работает, где и зачем его использовать, а также как настроить.
img
Redis — один из самых популярных инструментов для хранения данных. В статье разбираем, что такое Redis и как его можно использовать.
img
Маска подсети помогает определить, какие устройства находятся в одной сети, а какие – за её пределами. В этой статье разберём, что такое маска подсети, зачем она нужна и как её использовать.
img
Деплой (развертывание) приложения — это этап разработки, на котором приложение размещается и запускается на сервере. Это позволяет начать его использование. В статье разберемся, как это происходит.