Как самостоятельно сделать бота в «Телеграме» без навыков программирования
Ботов делают все: команда мессенджера, компании, обычные люди.
Они популярны и на рынке разработки. На платформе Kwork более тысячи фрилансеров предлагают услуги с ценником от 500 до 500 тысяч рублей в зависимости от сложности задачи. Далеко не все готовы тратить такие деньги. Поэтому появилось множество платформ, освоение которых не требует особых навыков. Я узнал, как бесплатно создать телеграм-бота, и попробовал самостоятельно сделать это в разных ноукод-сервисах. А заодно при помощи разработчика понял, как сделать небольшого бота на Python.
Что вы узнаете из материала
Какие бывают телеграм-боты
Телеграм-боты — это мини-программы внутри мессенджера, которые управляются текстовыми командами в чате по принципу «вопрос — ответ». Подобная технология была еще в «Аське» конца нулевых: боты присылали анекдоты, гороскопы, статьи из «Википедии» и переводили тексты.
С 2015 года любой пользователь может сделать собственного бота в «Телеграме». Со временем они становились все сложнее и функциональнее: с помощью ботов можно управлять сообществами, бронировать места в кафе, переводить тексты и войсы, скачивать файлы, обрабатывать платежи. Некоторые даже используют нейросети: например, ruDALL-E Malevich от «Сбера» генерирует картинку по описанию, которое можно отправить прямо в чат.
В апреле 2022 года команда «Телеграма» представила второе поколение ботов: разработчики получили средства для полноценных интерфейсов на JavaScript внутри мессенджера. Такие боты уходят от стандартной модели «вопрос — ответ в чате» и заменяют целые сайты. Вот как это выглядит в тестовом приложении для заказа еды.
Ботов можно разделить на несколько категорий.
Классические чат-боты. Программы, которые ведут диалог с пользователем. Виртуальный собеседник обычно реагирует на заранее прописанные фразы, темы и команды. Так можно, к примеру, оптимизировать штат людей-операторов. Другие чат-боты пытаются имитировать человеческую беседу, но пользы от них не так много.
Помощники в администрировании. Пригодятся владельцам каналов и групповых чатов. Умеют собирать статистику, добавлять к постам реакции, URL-кнопки, файлы, создавать отложенные публикации, как ControllerBot. Или отслеживать активность в чате, выдавать предупреждения и настраивать антиспам-фильтры — это умеет Combot.
Магазины. Компании переносят свои каталоги в мессенджер — для тех, кому проще выбрать товар и оплатить его прямо в «Телеграме». Например, через Baggins можно купить чашку кофе, а через G_Shop — женскую одежду. Главный минус таких магазинов — запутанный интерфейс: сложно просмотреть все товары и собрать корзину.
Инструменты. Разнообразные боты, которые добавляют мессенджеру новые функции. Они позволяют читать электронные письма, как Gmail Bot, отслеживать цены на билеты, как AviasalesBot, или проверить свой заказ в боте СДЭКа. Еще они напоминают о штрафах, скачивают файлы по URL и распознают музыку по аудиосообщению.
Поисковики. В них можно бесплатно найти книги, музыку, фильмы и прочие файлы. Зачастую эти боты пиратские — и «Телеграм» их периодически блокирует.
Какие навыки нужны, чтобы написать своего бота
Есть два способа создать бота в «Телеграме»: с помощью кода и ноукод-платформ. В первом случае вы пишете бота самостоятельно, во втором — пользуетесь конструктором и собираете бота из уже готовых элементов.
Выбор зависит от того, насколько продвинутый бот вам нужен, как много у вас времени и ресурсов, владеете ли вы навыками программирования. Ноукод-платформы серьезно облегчают процесс, но ограничивают в возможностях. Такой способ не подойдет сложному приложению, особенно если оно должно решать нестандартные задачи.
Создать бота с помощью кода. Бота можно написать на любом языке программирования — от PHP и Node.js до Java и Go. Самым популярным считается Python, потому что в его экосистеме много открытых библиотек и готовых решений. К тому же он относительно легок в изучении. Особенно подойдет новичкам: достаточно понять логику синтаксиса и отступов.
Начать изучение языка можно самостоятельно — например, с книги Марка Вудса «Изучаем Python», посмотреть бесплатные курсы на «Ютубе» или подобрать один из курсов онлайн-школ.
Далее нужно установить пакет python-telegram-bot — это обертка для API от «Телеграма». В документации этого фреймворка описана вся необходимая информация для разработки бота. Также понадобится любой текстовый редактор для написания кода.
Создать бота с помощью ноукод-платформы. Для создания ботов в конструкторе достаточно базовых знаний веб-приложений. Если вы владеете Figma, Miro, Asana или перетаскивали карточки в Trello, то легко сможете составить бота из наглядной цепочки блоков в конструкторе.
Есть десятки платформ, в которых можно разработать ботов без знания кода. Отличаются они функциями, набором сценариев и стоимостью. Некоторые доступны прямо в «Телеграме» — к таким относится Manybot. Фактически это бот для создания ботов, но он сильно ограничен в возможностях. Веб-платформы же берут разнообразием: если вы не нашли подходящей функции на одном сайте, то она вполне может оказаться на другом.
Обычно в бесплатной версии ноукод-сервисы позволяют создать одного бота. Но будет ограничение либо по количеству доступных команд, либо по количеству пользователей. Так что полностью бесплатно создать классного бота не выйдет.
Популярные платформы для телеграм-ботов: сравниваем пять конструкторов
Что умеет | Цена | Что в платной версии | Что в бесплатной версии | |
---|---|---|---|---|
Manybot | Конструктор внутри «Телеграма». Позволяет создать многоуровневое меню, форму обратной связи и «подтягивать» новости по RSS | — | — | В боте есть встроенная реклама. Отключить ее нельзя |
PuzzleBot | Платформа для создания сложных ботов, магазинов, инструментов модерации. В сервисе есть техподдержка, инструкции и личный кабинет | От 552 ₽ в месяц | Чем дороже тариф, тем больше доступно ботов, шире лимит подписчиков и команд | Можно создать одного бота и настроить до 15 команд. Также стоит ограничение до 150 подписчиков |
Botobot | Сервис ориентирован на ретейл: можно сделать каталог, корзину, форму оплаты, чат поддержки. Также на платформе есть кабинет аналитики продаж | От 320 ₽ в месяц | Увеличивается лимит на товары и появляются новые функции, например поиск по каталогу и доступ к API | Можно создать одного бота и опубликовать в нем не более 20 товаров |
Unisender | На платформе есть готовые шаблоны для разного бизнеса: для доставки еды или записи в салон красоты. А также интеграции с amoCRM, «Google-таблицами», «Битрикс24» и не только | От 800 до 16 000 ₽ в месяц | Увеличивается лимит подписчиков | Можно оздать бота и пользоваться им, пока у вас менее тысячи подписчиков |
BotTap | В конструкторе можно создать магазин, бота для сбора обратной связи, рассылок и онлайн-записи. Есть интеграции с платежными системами Qiwi, «ЮKassa», «ЮMoney» и другими | От 99 ₽ в месяц | Бот с меню, текстовыми сообщениями и картинками. Но в нем будет реклама и не будет статистики. Более дорогие тарифы добавляют функции, расширяют лимиты и отключают рекламу | — |
Популярные платформы для телеграм-ботов: сравниваем пять конструкторов
Manybot | |
Что умеет | Конструктор внутри «Телеграма». Позволяет создать многоуровневое меню, форму обратной связи и «подтягивать» новости по RSS |
Цена | — |
Что в платной версии | — |
Что в бесплатной версии | В боте есть встроенная реклама. Отключить ее нельзя |
PuzzleBot | |
Что умеет | Платформа для создания сложных ботов, магазинов, инструментов модерации. В сервисе есть техподдержка, инструкции и личный кабинет |
Цена | От 552 ₽ в месяц |
Что в платной версии | Чем дороже тариф, тем больше доступно ботов, шире лимит подписчиков и команд |
Что в бесплатной версии | Можно создать одного бота и настроить до 15 команд. Также стоит ограничение до 150 подписчиков |
Botobot | |
Что умеет | Сервис ориентирован на ретейл: можно сделать каталог, корзину, форму оплаты, чат поддержки. Также на платформе есть кабинет аналитики продаж |
Цена | От 320 ₽ в месяц |
Что в платной версии | Увеличивается лимит на товары и появляются новые функции, например поиск по каталогу и доступ к API |
Что в бесплатной версии | Можно создать одного бота и опубликовать в нем не более 20 товаров |
Unisender | |
Что умеет | На платформе есть готовые шаблоны для разного бизнеса: для доставки еды или записи в салон красоты. А также интеграции с amoCRM, «Google-таблицами», «Битрикс24» и не только |
Цена | От 800 до 16 000 ₽ в месяц |
Что в платной версии | Увеличивается лимит подписчиков |
Что в бесплатной версии | Можно создать бота и пользоваться им, пока у вас менее тысячи подписчиков |
BotTap | |
Что умеет | В конструкторе можно создать магазин, бота для сбора обратной связи, рассылок и онлайн-записи. Есть интеграции с платежными системами Qiwi, «ЮKassa», «ЮMoney» и другими |
Цена | От 99 ₽ в месяц |
Что в платной версии | Бот с меню, текстовыми сообщениями и картинками. Но в нем будет реклама и не будет статистики. Более дорогие тарифы добавляют функции, расширяют лимиты и отключают рекламу |
Что в бесплатной версии | — |
Как зарегистрировать нового бота
Определившись с платформой, необходимо зарегистрировать бота. Для этого, как ни странно, нужен другой бот. BotFather — официальный сервис для настройки и управления созданными телеграм-ботами. Он не занимается конкретными функциями и командами — только косметическими изменениями вроде названия, описания и аватарки.
Но главное — он выдает уникальный токен, который необходим для авторизации бота и работы с Bot API. Любой, кто получит токен, сможет управлять ботом. Так что храните его в надежном месте и никому не передавайте — в противном случае лишитесь доступа к собственному боту.
Как получить токен в BotFather:
- Отправьте в чат с BotFather команду /newbot.
- Введите название бота — в этой категории особых ограничений нет.
- Введите юзернейм бота — его техническое имя, которое будет отображаться в адресной строке. К нему уже больше требований: юзернейм должен быть уникальным, написан на латинице и обязательно заканчиваться на bot. Так «Телеграм» защищается от злоумышленников, которые могут выдавать ботов за реальных людей.
- Готово. BotFather пришлет токен бота — его можно использовать для настройки в сторонних сервисах.
О каких еще функциях стоит знать. Уже после получения токена можно воспользоваться BotFather, чтобы настроить внешний вид бота. Вот несколько полезных команд:
- /setdescription — меняет описание бота, пользователи увидят его в начале диалога в графе «Что умеет этот бот?». Есть ограничение в 512 символов.
- /setabouttext — тоже меняет описание, но другое — то, которое видно в профиле бота. Лимит — 120 символов.
- /setuserpic — меняет аватарку.
- /setcommands — меняет список команд бота. Тут нельзя установить конкретные функции и за что они отвечают — лишь количество команд и как они называются.
- /setjoingroups — устанавливает, можно ли добавлять бота в групповые чаты. Настройка зависит от ваших целей.
- /setprivacy — устанавливает уровень доступа бота к перепискам. Если приватность включена, бот видит только сообщения, которые обращены к нему. Если отключена — все сообщения. «Телеграм» рекомендует не отключать параметры приватности.
- /deletebot — удаляет бота и освобождает юзернейм.
Как сделать собственного бота без навыков программирования
В качестве примера я взял две популярные ноукод-платформы — Unisender и PuzzleBot. В первом случае бесплатно создадим бота, который будет собирать оценки и отзывы посетителей ресторана. Во втором случае сделаем мини-магазин.
Как создать бота в Unisender. Зарегистрируйтесь и перейдите в меню «Чат-боты» в личном кабинете. Бота можно создать либо с нуля, либо через шаблоны — второй вариант быстрее и проще. Во вкладке «Шаблоны» сервис предложит создать ботов для записи клиентов, рекламы вебинара или риелторских услуг.
После выбора появится интерфейс с наборами готовых блоков — в них можно менять текст и структуру. Редактировать можно всю цепочку: удалять блоки, добавлять новые, встраивать меню с кнопками, теги, фильтры и формы для сбора данных.
Вот какой сценарий я прописал для бота — сборщика отзывов:
- Приветствие → Меню с просьбой оценить обслуживание. Здесь бот показывает кнопки с пятью вариантами ответов: от «очень доволен» до «очень недоволен» → Ветка раздваивается на позитивный и негативный варианты. Позитивный — прошу пользователя оставить отзыв на «Яндекс.Картах», Google Maps и других платформах. Негативный — прошу написать в чате, что именно не понравилось.
Как создать бота в PuzzleBot. Создайте нового бота в BotFather, скопируйте токен и добавьте в PuzzleBot — сервис запросит его сразу после регистрации.
Напоминаю, что в этом сервисе я делаю мини-магазин. Для этого в конструкторе нужно найти вкладку «Магазин» и выбрать валюты для оплаты. В меню можно настроить способы доставки, связку с платежными системами и акции.
Далее откройте список товаров, нажмите кнопку «Добавить» и оформите карточки товаров: добавьте фото, описание, цену, количество — и разбейте их по категориям.
Далее перейдите во вкладку «Конструктор». Интерфейс похож на Unisender, но тут больше функций: можно добавить кнопки, карточки товаров, блоки с текстом, картинкой, геолокацией, видео и не только. В PuzzleBot есть видеообзоры каждого раздела платформы — помогут сориентироваться.
Для магазина я прописал следующий сценарий.
Приветствие и меню. В блоке «Текст» кратко описал магазин. Ниже платформа предложила две клавиатуры: обычную, кнопки которой появятся в «Телеграме» вместо стандартной текстовой клавиатуры, и инлайн — кнопки отобразятся внутри чата, под сообщением.
Я выбрал обычную клавиатуру и создал три кнопки: «Футболки», «Шорты» и «Посмотреть фото».
Кнопки. Перед тем как добавить кнопки «Футболки» и «Шорты», я создал для них отдельные команды: нажал «+» в левом верхнем углу, дал название командам и в настройках в пункте «Блоки для бота» выбрал соответствующий товар.
Затем вернулся к предыдущей команде, сделал кнопки «Футболки» и «Шорты», выбрал действие «Переход к команде или условию» и связал их с командами.
Теперь обе кнопки ведут на карточки товаров — их пользователь может добавить в корзину и купить прямо внутри бота. Все функции, необходимые для корректной работы корзины, оформления доставки и оплаты, уже «вшиты» в карточки, их не нужно прописывать отдельно.
Предупреждаем: дальше мы пошагово рассказываем о процессе создания бота на Python. Этот раздел мало чем поможет людям без навыков программирования. Если это про вас, то можете сразу переходить к итогам.
Что в итоге
Не очень сложного бота может создать каждый. Есть инструменты, которые не требуют навыков программирования, достаточно базовых знаний веб-сервисов. Сборка бота в онлайн-конструкторе обычно интуитивно понятна: подбираете нужную платформу на основе доступных функций, складываете из блоков цепочку сообщений и команд, запускаете.
Бота не нужно загружать на сервер, он будет работать автономно на стороне платформы. Чтобы программа заработала, не забудьте зарегистрировать бота в «Телеграме» — для этого есть официальный сервис.
В сервисах-конструкторах обычно разрешают создать одного бота бесплатно. Но не надейтесь, что можно сделать популярного бота без вложений: действуют ограничения по количеству команд и пользователям. Чтобы расширить возможности бота, придется подключить платный тариф — в среднем от 500 рублей в месяц.
Важно понимать: бот всегда будет ограничен возможностями самого конструктора. Чтобы не зависеть от сторонних платформ, потребуется создать бота с нуля с помощью кода. Но в этом случае придется либо самому разобраться в программировании, либо заплатить разработчику.
На рынке цены разные — от 500 рублей до бесконечности, в зависимости от сложности задачи. Также необходимо будет вложиться в аренду сервера, загрузить на него бота и поддерживать работоспособность.
Мы постим кружочки, красивые карточки и новости о технологиях и поп-культуре в нашем телеграм-канале. Подписывайтесь, там классно: @t_technocult