Чат-боты под ключ: 6 простых «рецептов» для создания мини-приложений в Telegram
Создание ботов — отличная возможность для новичков попробовать свои силы и реализовать мини-проект, не создавая отдельный сайт или интерфейс. В подборке делимся инструкциями Telegram-ботов на любой вкус.
Выберите интересующего вас бота:
Веб-приложение на Node.js и React
Год назад в Telegram Bot API добавили Web Apps — кастомные страницы, которые открываются внутри переписки с ботом. Сейчас эта функция востребована у большого количества пользователей — от создателей маленьких tg-ботов до коммерческих компаний.
Мы подготовили инструкцию по созданию такого веб-приложения. В ней — пошаговая разработка с JavaScript-кодом, который вы можете использовать в своем tg-боте. В качестве фронтенда использовали React, а для бэкенда — node.js. Готовое веб-приложение будет поддерживать авторизацию пользователя, встроенную оплату через платежные системы, кастомизацию под выбранную пользователем тему и многое другое.
Что вы узнаете из текста?
- Как сделать форму обратной связи.
- Как добавить кнопку «купить» и корзину с товарами.
- Как обработать полученные данные методом sendData.
Платежная система с Payments
Для оплаты вашего продукта не обязательно создавать сайт или делать отдельную страничку с встроенным блоком для платежей. Все это можно реализовать сразу в Telegram. Достаточно подключить возможность ежемесячной подписки.
В статье используем популярную библиотеку на Python — aiogram, предназначенную для создания ботов. И связываем ее с приложением через Telegram Bot API. Дополнительно вы можете выбрать платежную систему. Мессенджер поддерживает оплату более чем в 200 странах через такие шлюзы, как Stripe, YooMoney, Sberbank, LiqPay, PayMaster и другие.
Что вы узнаете из текта?
- Как сгенерировать invoice с деталями платежа.
- Как подключить возможность оплаты в рублях и долларах.
- Как настроить платежи с помощью аргумента Pre Checkout Query и Successful Payment.
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Часто сервисы Open AI неудобно использовать на территории России. Приходится каждый раз подключать VPN и писать запросы вручную. Потратить несколько минут на формулировку и еще несколько — на набор текста. Теперь представьте: вы открываете tg-бот, записываете голосовое сообщение и получаете текстовый ответ из ChatGPT. В нашей инструкции рассказываем, как это сделать.
Для настройки рабочего окружения мы использовали Node.js и фреймворк Telegraf. После научили бота обрабатывать голосовые сообщения, получать на них ссылки в формате ogg и преобразовывать в текст. А чтобы бот всегда был на связи, задеплоили его на облачный сервер.
Что вы узнаете из текста?
- Как научить бота фильтровать голосовые сообщения и получать на них ссылки в формате ogg.
- Как обрабатывать и конвертировать полученные данные из getFileLink в mp3.
- Как сохранять сообщения и их контексты для каждого пользователя.
Бот для генерации сложных паролей
Чтобы придумать надежный, но запоминающийся пароль, можно взять несколько слов и объединить их в последовательность, а после — добавить специальные символы. А можно пойти другим путем. Написать Telegram-бота, который будет генерировать пароли прямо в мессенджере.
Для создания такого бота мы использовали сразу несколько инструментов. Среди них — PyCharm, aiogram и Redis. Далее настроили параметры конфигурации из готового репозитория на GitHub. По умолчанию вы можете выбрать любой из трех пресетов для генерации пароля. Если в какой-то момент их станет недостаточно, вы всегда можете добавить новые или изменить существующие в XKCD-password-generator.
Что вы узнаете из текста?
- Как создать новую конфигурацию бота.
- Как изменить готовые пресеты в XKCD.
- Как сделать бота, если у вас не PyCharm.
Бот для создания стикеров из сообщений
Было ли у вас такое, что какое-то сообщение друга в Telegram хотелось отправлять впоследствии в виде стикера? С этой инструкции вы можете создать с друзьями или коллегами свой личный «фонд золотых цитат». Концепт идеи прост: пользователь пересылает сообщение в диалог с ботом и получает готовый стикер. Без лишних действий и стороннего софта.
Для разработки мы выбрали Python версии 3.8. Нарисовали шаблон стикера с помощью библиотеки Pillow и продумали уникальные имена для набора. С последним оказалось не все так просто. Если использовать имя бота в уникальном имени набора, то любой может получить к нему доступ. Поэтому в качестве уникального имени выбрали скрытый UUID в Telegram.
Что вы узнаете из текста?
- Как исправить «особенность» с уникальным именем набора.
- Какие ограничение мессенджер накладывает на стикеры.
- Как разработать бота без БД и промежуточных файлов.
Бот для мониторинга погоды на Python
Классика бот-разработки! Задача отлично подойдет для знакомства с Telegram-ботами и первого пет-проекта. В результате получите карманного синоптика, который будет отправлять вам данные о погоде в любом городе.
В статье детально рассмотрим работу с API с помощью токенов для OpenWeather и Telegram-бота. Приступим к парсингу ответов в формате JSON: заберем данные о городе и температуре, влажности, давлении и скорости ветра. А после — задеплоим на облачный сервер. И все это на асинхронной библиотеке aiogram.
Что вы узнаете из текста?
- Как добавить разные эмодзи в зависимости от погоды.
- Какие форматы данных поддерживает «карманный синоптик».
- Как научить бота обрабатывать города через API и возвращать данные о погоде.
Какой бот вам показался наиболее полезным? Или, может, вы хотите новый текст про бота с определенной функциональностью? Пишите в комментариях!
Больше идей по разработке Telegram-ботов — в курсе Академии Selectel. Также подписывайтесь на нашу рассылку, чтобы первыми получать материалы по IT-темам.