Как самостоятельно сделать бота в «Телеграме» без навыков программирования

Научились сами и теперь пошагово разбираем каждый этап
13
Как самостоятельно сделать бота в «Телеграме» без навыков программирования
Аватар автора

Вадим Скворцов

пока писал статью, сделал магазин

Страница автора
Аватар автора

Илья Гринзовский

помогал во всем разобраться

Страница автора

Ботов делают все: команда мессенджера, компании, обычные люди.

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

Визуальный редактор помогает сориентироваться даже новичку — вот так это выглядит в сервисе Botmother. Источник: botmother.com
Визуальный редактор помогает сориентироваться даже новичку — вот так это выглядит в сервисе Botmother. Источник: botmother.com

Есть десятки платформ, в которых можно разработать ботов без знания кода. Отличаются они функциями, набором сценариев и стоимостью. Некоторые доступны прямо в «Телеграме» — к таким относится 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:

  1. Отправьте в чат с BotFather команду /newbot.
  2. Введите название бота — в этой категории особых ограничений нет.
  3. Введите юзернейм бота — его техническое имя, которое будет отображаться в адресной строке. К нему уже больше требований: юзернейм должен быть уникальным, написан на латинице и обязательно заканчиваться на bot. Так «Телеграм» защищается от злоумышленников, которые могут выдавать ботов за реальных людей.
  4. Готово. BotFather пришлет токен бота — его можно использовать для настройки в сторонних сервисах.
Я создал бота для тестирования, выбрал ник @testunisenderbot, получил токен, переименовал в «Оцените ресторан»
Я создал бота для тестирования, выбрал ник @testunisenderbot, получил токен, переименовал в «Оцените ресторан»

О каких еще функциях стоит знать. Уже после получения токена можно воспользоваться BotFather, чтобы настроить внешний вид бота. Вот несколько полезных команд:

  1. /setdescription — меняет описание бота, пользователи увидят его в начале диалога в графе «Что умеет этот бот?». Есть ограничение в 512 символов.
  2. /setabouttext — тоже меняет описание, но другое — то, которое видно в профиле бота. Лимит — 120 символов.
  3. /setuserpic — меняет аватарку.
  4. /setcommands — меняет список команд бота. Тут нельзя установить конкретные функции и за что они отвечают — лишь количество команд и как они называются.
  5. /setjoingroups — устанавливает, можно ли добавлять бота в групповые чаты. Настройка зависит от ваших целей.
  6. /setprivacy — устанавливает уровень доступа бота к перепискам. Если приватность включена, бот видит только сообщения, которые обращены к нему. Если отключена — все сообщения. «Телеграм» рекомендует не отключать параметры приватности.
  7. /deletebot — удаляет бота и освобождает юзернейм.
Небольшая переписка с BotFather — и теперь у меня есть еще и бот⁠-⁠магазин
Небольшая переписка с BotFather — и теперь у меня есть еще и бот⁠-⁠магазин

Как сделать собственного бота без навыков программирования

В качестве примера я взял две популярные ноукод-платформы — Unisender и PuzzleBot. В первом случае бесплатно создадим бота, который будет собирать оценки и отзывы посетителей ресторана. Во втором случае сделаем мини-магазин.

Как создать бота в Unisender. Зарегистрируйтесь и перейдите в меню «Чат-боты» в личном кабинете. Бота можно создать либо с нуля, либо через шаблоны — второй вариант быстрее и проще. Во вкладке «Шаблоны» сервис предложит создать ботов для записи клиентов, рекламы вебинара или риелторских услуг.

Я выбрал шаблон «Отзывы клиентов о салоне красоты»
Я выбрал шаблон «Отзывы клиентов о салоне красоты»

После выбора появится интерфейс с наборами готовых блоков — в них можно менять текст и структуру. Редактировать можно всю цепочку: удалять блоки, добавлять новые, встраивать меню с кнопками, теги, фильтры и формы для сбора данных.

Вот какой сценарий я прописал для бота — сборщика отзывов:

  • Приветствие → Меню с просьбой оценить обслуживание. Здесь бот показывает кнопки с пятью вариантами ответов: от «очень доволен» до «очень недоволен» → Ветка раздваивается на позитивный и негативный варианты. Позитивный — прошу пользователя оставить отзыв на «Яндекс.Картах», Google Maps и других платформах. Негативный — прошу написать в чате, что именно не понравилось.
Так выглядит итоговая блок⁠-⁠схема
Так выглядит итоговая блок⁠-⁠схема
После нужно нажать «Запустить» и ввести токен от BotFather. Все — бот готов к работе, можно открыть его в «Телеграме»
После нужно нажать «Запустить» и ввести токен от BotFather. Все — бот готов к работе, можно открыть его в «Телеграме»

Как создать бота в PuzzleBot. Создайте нового бота в BotFather, скопируйте токен и добавьте в PuzzleBot — сервис запросит его сразу после регистрации.

Напоминаю, что в этом сервисе я делаю мини-магазин. Для этого в конструкторе нужно найти вкладку «Магазин» и выбрать валюты для оплаты. В меню можно настроить способы доставки, связку с платежными системами и акции.

Далее откройте список товаров, нажмите кнопку «Добавить» и оформите карточки товаров: добавьте фото, описание, цену, количество — и разбейте их по категориям.

Я оформил две карточки: для футболок и шорт
Я оформил две карточки: для футболок и шорт

Далее перейдите во вкладку «Конструктор». Интерфейс похож на Unisender, но тут больше функций: можно добавить кнопки, карточки товаров, блоки с текстом, картинкой, геолокацией, видео и не только. В PuzzleBot есть видеообзоры каждого раздела платформы — помогут сориентироваться.

Для магазина я прописал следующий сценарий.

Приветствие и меню. В блоке «Текст» кратко описал магазин. Ниже платформа предложила две клавиатуры: обычную, кнопки которой появятся в «Телеграме» вместо стандартной текстовой клавиатуры, и инлайн — кнопки отобразятся внутри чата, под сообщением.

Я выбрал обычную клавиатуру и создал три кнопки: «Футболки», «Шорты» и «Посмотреть фото».

Тут снова приходится работать с блок⁠-⁠схемой
Тут снова приходится работать с блок⁠-⁠схемой

Кнопки. Перед тем как добавить кнопки «Футболки» и «Шорты», я создал для них отдельные команды: нажал «+» в левом верхнем углу, дал название командам и в настройках в пункте «Блоки для бота» выбрал соответствующий товар.

Затем вернулся к предыдущей команде, сделал кнопки «Футболки» и «Шорты», выбрал действие «Переход к команде или условию» и связал их с командами.

Теперь обе кнопки ведут на карточки товаров — их пользователь может добавить в корзину и купить прямо внутри бота. Все функции, необходимые для корректной работы корзины, оформления доставки и оплаты, уже «вшиты» в карточки, их не нужно прописывать отдельно.

Последняя кнопка «Посмотреть фото», по задумке, ведет на внешний сайт — например, на страницу во «Вконтакте»
Последняя кнопка «Посмотреть фото», по задумке, ведет на внешний сайт — например, на страницу во «Вконтакте»
Чтобы сохранить все правки, нужно нажать «Применить изменения» в верхнем левом углу. После этого бот будет готов к работе. Вот что у меня получилось
Чтобы сохранить все правки, нужно нажать «Применить изменения» в верхнем левом углу. После этого бот будет готов к работе. Вот что у меня получилось

Предупреждаем: дальше мы пошагово рассказываем о процессе создания бота на Python. Этот раздел мало чем поможет людям без навыков программирования. Если это про вас, то можете сразу переходить к итогам.

Что в итоге

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

Бота не нужно загружать на сервер, он будет работать автономно на стороне платформы. Чтобы программа заработала, не забудьте зарегистрировать бота в «Телеграме» — для этого есть официальный сервис.

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

Важно понимать: бот всегда будет ограничен возможностями самого конструктора. Чтобы не зависеть от сторонних платформ, потребуется создать бота с нуля с помощью кода. Но в этом случае придется либо самому разобраться в программировании, либо заплатить разработчику.

На рынке цены разные — от 500 рублей до бесконечности, в зависимости от сложности задачи. Также необходимо будет вложиться в аренду сервера, загрузить на него бота и поддерживать работоспособность.

Мы постим кружочки, красивые карточки и новости о технологиях и поп-культуре в нашем телеграм-канале. Подписывайтесь, там классно: @t_technocult

Вадим СкворцовЕсть любимый бот в «Телеграме»? Поделитесь в комментариях: