Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

в 9:29, , рубрики: DIY, python, telegram, Блог компании Selectel, мессенджер, облачные сервисы, пет-проект, Разработка для интернета вещей, сервер, чат-бот
Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram - 1

Telegram-боты — хорошая возможность вписать какую-то важную функциональность в понятную и простую платформу мессенджера. Не нужно думать об отдельном сайте и интерфейсе. Также боты — хорошая возможность для новичков в разработке реализовать свой мини-проект. Идея может быть как совершенно фановая — например, создавать стикеры из мемных сообщений друзей, так и быть частью функциональности сервиса — например, платежной системы.

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

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python

Паттерны взаимодействия с ботами


Вы можете усовершенствовать своего Telegram-бота, добавив паттерны взаимодействия с пользователями. Например, заменить командную строку на ключевое слово «Поехали!» или расположить под сообщением кнопку START. О том, как интегрировать эти паттерны в бот, подробно рассказываем в статье.

В процессе разработки мы использовали Python 3.9 и python-telegram-bot — фреймворк на основе обработчика. Ядро получает обновления (Update) от Telegram Bot API и вызывает соответствующий обработчик из списка зарегистрированных. Или игнорирует, если подходящего обработчика нет. В тексте вы найдете наглядную демонстрацию описанной работы.

Перейти к инструкции →

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram - 2

Кнопки InlineKeyboard.

Что вы узнаете из текста?

  • Какие существуют способы взаимодействия с Telegram-ботом.
  • Какие нюансы стоит учитывать в работе с ботами.
  • Как создать обработчик аргументов команды /start или кодовых слов — например, «Поехали!».
  • Как создать кнопки ReplyKeyboard, заменяющие клавиатуру, и InlineKeyboard, располагающиеся под сообщением.

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram - 3

Веб-приложение на Node.js и React


Год назад в Telegram Bot API добавили Web Apps — кастомные страницы, которые открываются внутри переписки с ботом. Сейчас эта функция востребована у большого количества пользователей — от создателей маленьких tg-ботов до коммерческих компаний.

Мы подготовили инструкцию по созданию такого веб-приложения. В ней — пошаговая разработка с JavaScript-кодом, который вы можете использовать в своем tg-боте. В качестве фронтенда использовали React, а для бэкенда — node.js. Готовое веб-приложение будет поддерживать авторизацию пользователя, встроенную оплату через платежные системы, кастомизацию под выбранную пользователем тему и многое другое.

Перейти к инструкции →

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram - 4

Форма обратной связи.

Что вы узнаете из текста?

  • Как сделать форму обратной связи.
  • Как добавить кнопку «купить» и корзину с товарами.
  • Как обработать полученные данные методом sendData.

Платежная система с Payments


Для оплаты вашего продукта не обязательно создавать сайт или делать отдельную страничку с встроенным блоком для платежей. Все это можно реализовать сразу в Telegram. Достаточно подключить возможность ежемесячной подписки.

В статье используем популярную библиотеку на Python — aiogram, предназначенную для создания ботов. И связываем ее с приложением через Telegram Bot API. Дополнительно вы можете выбрать платежную систему. Мессенджер поддерживает оплату более чем в 200 странах через такие шлюзы, как Stripe, YooMoney, Sberbank, LiqPay, PayMaster и другие.

Перейти к инструкции →

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram - 5

Что вы узнаете из текта?

  • Как сгенерировать invoice с деталями платежа.
  • Как подключить возможность оплаты в рублях и долларах.
  • Как настроить платежи с помощью аргумента Pre Checkout Query и Successful Payment.

Карманный ChatGPT, которому можно отправлять голосовые сообщения


Часто сервисы Open AI неудобно использовать на территории России. Приходится каждый раз подключать VPN и писать запросы вручную. Потратить несколько минут на формулировку и еще несколько — на набор текста. Теперь представьте: вы открываете tg-бот, записываете голосовое сообщение и получаете текстовый ответ из ChatGPT. В нашей инструкции рассказываем, как это сделать.

Для настройки рабочего окружения мы использовали Node.js и фреймворк Telegraf. После научили бота обрабатывать голосовые сообщения, получать на них ссылки в формате ogg и преобразовывать в текст. А чтобы бот всегда был на связи, задеплоили его на облачный сервер.

Перейти к инструкции →

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram - 6

Что вы узнаете из текста?

  • Как научить бота фильтровать голосовые сообщения и получать на них ссылки в формате ogg.
  • Как обрабатывать и конвертировать полученные данные из getFileLink в mp3.
  • Как сохранять сообщения и их контексты для каждого пользователя.

Бот для генерации сложных паролей


Чтобы придумать надежный, но запоминающийся пароль, можно взять несколько слов и объединить их в последовательность, а после — добавить специальные символы. А можно пойти другим путем. Написать Telegram-бота, который будет генерировать пароли прямо в мессенджере.

Для создания такого бота мы использовали сразу несколько инструментов. Среди них — PyCharm, aiogram и Redis. Далее настроили параметры конфигурации из готового репозитория на GitHub. По умолчанию вы можете выбрать любой из трех пресетов для генерации пароля. Если в какой-то момент их станет недостаточно, вы всегда можете добавить новые или изменить существующие в XKCD-password-generator.

Перейти к инструкции →

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram - 7

Что вы узнаете из текста?

  • Как создать новую конфигурацию бота.
  • Как изменить готовые пресеты в XKCD.
  • Как сделать бота, если у вас не PyCharm.

Бот для создания стикеров из сообщений


Было ли у вас такое, что какое-то сообщение друга в Telegram хотелось отправлять впоследствии в виде стикера? С этой инструкции вы можете создать с друзьями или коллегами свой личный «фонд золотых цитат». Концепт идеи прост: пользователь пересылает сообщение в диалог с ботом и получает готовый стикер. Без лишних действий и стороннего софта.

Для разработки мы выбрали Python версии 3.8. Нарисовали шаблон стикера с помощью библиотеки Pillow и продумали уникальные имена для набора. С последним оказалось не все так просто. Если использовать имя бота в уникальном имени набора, то любой может получить к нему доступ. Поэтому в качестве уникального имени выбрали скрытый UUID в Telegram.

Перейти к инструкции →

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram - 8

Что вы узнаете из текста?

  • Как исправить «особенность» с уникальным именем набора.
  • Какие ограничение мессенджер накладывает на стикеры.
  • Как разработать бота без БД и промежуточных файлов.

Бот для мониторинга погоды на Python


Классика бот-разработки! Задача отлично подойдет для знакомства с Telegram-ботами и первого пет-проекта. В результате получите карманного синоптика, который будет отправлять вам данные о погоде в любом городе.

В статье детально рассмотрим работу с API с помощью токенов для OpenWeather и Telegram-бота. Приступим к парсингу ответов в формате JSON: заберем данные о городе и температуре, влажности, давлении и скорости ветра. А после — задеплоим на облачный сервер. И все это на асинхронной библиотеке aiogram.

Автор: Анастасия Ербанова

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js