Как узнать на каком конструкторе сделан бот телеграм

Обновлено: 28.04.2024

Если вы незнакомы с ботами в Telegram, рекомендуется сначала прочитать ознакомительную статью.

Также, возможно, вас заинтересует описание Bot API.

Общие вопросы

Как я могу создать бота?

Создание бота для Telegram крайне простое, однако, вам понадобится кое-какой опыт в программировании. Для работы вашего бота вам необходимо осуществить первоначальную настройку через бота @BotFather, а затем подключить его к вашему серверу через API.

К сожалению, какого-либо способа создать бота без программирования не существует. Поэтому, если вы не разработчик, лучше поищите себе готового бота или закажите его разработку.

Можно посмотреть примеры кода?

Вот два бота-образца, написанных на PHP:

    : демонстрация основных возможностей Bot API. : более сложный бот, поддерживающий оба способа получения обновлений (long-polling и вебхуки).

Многие разработчики создают своих ботов с открытым исходным кодом. Мы собираем их на специальной странице.

Добавьте в ботов фичу X!

API ботов — весьма молодой проект. Есть ещё масса возможностей, которые уже рассматриваются к реализации. Пока что администрация Telegram наблюдает за тем, как пользователи используют своих ботов, чтобы понять, в каком направлении необходимо развивать платформу.

Если у вас есть мысли по этому поводу, вы можете высказать их пользователю @BotSupport (на английском).

Получение обновлений

Как можно получать обновления?

На текущий момент доступно два способа. Вы можете использовать либо опрос, либо вебхуки. Обратите внимание: если вы используете вебхуки, метод getUpdates работать не будет.

Доступные порты: 443, 80, 88, 8443.

Опрос всегда выдаёт один и тот же результат!

Метод getUpdates выдаёт 100 последних неподтверждённых обновлений. Чтобы подтвердить обновление, используйте параметр offset при вызове getUpdates вот так:

Все обновления с update_id меньшим или равным offset будут отмечены как подтверждённые и не будут больше возвращаться сервером.

У меня проблема с вебхуками

Если вы успешно задали адрес вебхука, но не получаете обновлений, убедитесь, что:

  • SSL-сертификат вашего вебхука валиден и корректен
  • При использовании самозаверенного сертификата, вы передаёте его публичный ключ в поле certificate метода setWebhook. Необходимо загружать InputFile , отправка строки не сработает.
  • Ваш вебхук работает на одном из допустимых портов: 443, 80, 88, 8443.

У меня проблема с самозаверенным сертификатом

Ознакомьтесь с инструкцией по созданию сертификатов. Если после прочтения у вас остались вопросы, напишите пользователю @BotSupport.

Как мне убедиться, что запросы идут с серверов Telegram?

Для этого включите ваш токен в адрес вебхука, примерно так:

Так как никто посторонний не знает вашего токена, запросы на этот адрес смогут отсылать только сервера Telegram.

Это возможно при использовании вебхуков. Преимуществом является сокращение числа запросов, недостатком — невозможность получения результата запроса и его статуса.

Всякий раз при получении обновления на вебхук, у вас есть два варианта:

Прямой запрос

Ответ в запросе

Пример реализации этой возможности на PHP можно посмотреть в коде HelloBot.

Обработка медиафайлов

Как скачивать файлы?

Для этого используйте метод getFile .

Этот метод работает только для файлов объёмом до 20 МБ.

Как закачать большой файл?

Как долго хранится file_id у файлов?

file_id у отправленных вашим ботом файлов будут удалены после отправления нескольких тысяч файлов.

Для принятых файлов file_id можно считать вечным и неизменным.

Массовая рассылка

Как получить список всех подписчиков моего бота?

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

Сайт про Telegram на русском (неофициальный).

Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.

Отобрал 10 лучших и сравнил все известные конструкторы Telegram ботов.

Я автор канала Кладезь Telegram. Три месяца занимался исследованием рынка конструкторов чат-ботов работающих с Telegram. Основными задачами были:

  1. Собрать базу зарубежных и СНГ конструкторов чат-ботов.
  2. Оценить поддержку уникальных функций для Telegram.
  3. Провести сравнение сервисов.

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

Список сервисов раздлён на категории:

  • Рабочий — функционирующий сервис.
  • Неизвестный — не удалось войти из-за ошибок или закрытого доступа (по всем признакам сервис функционирует) .
  • Заброшенный — без доступа и без обновлений.
  • Чёрный список — сервис, ограничевший доступ для пользователей или запятнавший репутацию.

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

Не буду проходить по каждому пункту, думаю они очевидны, к тому же дополнительно описаны заметками в самой таблице. Из наиболее важных считаю:

  • Уровень входа — оценил сложность интерфейса, документации и в целом «понятность» всего, например популярные SaleBot и Botmother могут почти всё (если не всё) , но конструкторы обоих проектов выглядят запутано, а для использования их на 100% нужно разбираться в коде (прописывать запросы).
  • Конструктор картой — лучше названия не придумал. Критерий означает наличии возможности просматривать структуру бота, как карту мыслей, а-ля miro. В конструкторах без этой фичи сложно работать с большими проектами.
  • Тип конструктора —делится на подтипы:
  1. Универсальный — подходит под все задачи, пример: PuzzleBot, Watbot, SAMBOT.
  2. Магазин,Рассылка и Информационный — конструкторы с монофункциями, пример: Botobot, Телебиз, TextBack.
  3. Программируемый — сервисы, в которых без знания программирования не обойтись, но мороку упрощают, пример: QNext, botpress, Bots. Business.

Каждому критерию заданы разные баллы, приоритет отдан всему, что связано с простотой и функциональностью, ведь конструкторы нужны, в первую очередь, для упрощения работы. Ознакомиться с системой оценки можно тут.

Кратко представлю десятку лучших конструкторов:

🏆 Самый нативный конструктор — поддерживает наибольшее количество уникальных функций в Telegram.

Минимальный тариф: 690 ₽, есть бесплатный тариф.

Минимальный тариф: 990 ₽, есть бесплатный тариф и пробный период.

Минимальный тариф: 300 ₽, есть бесплатный тариф и пробный период.

🏆 Самый интегрированный конструктор — предоставляет наибольшее количество прямых интеграций с различными сервисами.

Минимальный тариф: 899 ₽, есть бесплатный тариф и пробный период.

Минимальный тариф: 15 $, есть бесплатный тариф и пробный период.

Минимальный тариф: 1000 ₽, нет бесплатного тарифа, но есть пробный период.

P. S. Пользователи в чате жалуются на нестабильность сервиса.

Минимальный тариф: 990 ₽, нет бесплатного тарифа, но есть пробный период.

Минимальный тариф: 2699 ₽, нет бесплатного тарифа, но есть пробный период.

Минимальный тариф: 1250 ₽, есть бесплатный тариф и пробный период.

Минимальный тариф: 1990 ₽, нет бесплатного тарифа, но есть пробный период.

Помимо лучшей десятки, хочу выделить конструктор ботов Fleep.бизнес, как сервис с самым выгодным, но ёмким тарифом — 199 ₽ и MenuBuilderBot, как самый часто обновляемый сервис. Оба конструктора не имеют веб-версии и настраиваются полностью в Telegram.

Какие ещё конструкторы рассмотрены в таблице:

  • Универсальный: slashstart, Robochat, Fleep. бизнес, Aimylogic, MenuBuilderBot, MyBotan, Квесча, SnatchBot, inqoob, Xenioo, Engati, BorisBot, Flow. ai, MCN Telecom, BotTap, Dialogflow, Pipe, FlowXO, Botkits, Client Hunter, BotoMat, Manybot, Unisender.
  • Магазин: Botobot, BotStore, Телебиз, JoinChat.
  • Рассылка: TextBack, Trengo, crisp.
  • Информационный: Telegrambot. biz.
  • Программируемый: Corezoid, botpress, QNext, MyMakerBot, Bots. Business.
  • Неизвестный: Telebot. biz, Proton-bot, InfoBot, telegr. store, Telebot. biz, appypie, Botsify, Bot-It, BotPenguin, Boteus.
  • Заброшенные: CrowdRobot, Inf. ai, SocialBot, Ebot. one.
  • Чёрный список: Leeloo, SendPulse, Smart Sender, ActiveChat, Bot4Shop.

Я видел некоторое… количество конструкторов и вот такая сводка:

  1. Количество конструкторов по группам: общие (универсальные, магазины, рассылка и информационные) — 42 штуки, программируемые — 5 штук, не удалось протестировать — 11 штук, заброшенных — 4 штуки и в чёрный список попали — 5 штук.
  2. Из 67 конструкторов, поддерживающих работу с Telegram, 47 созданы в странах СНГ и всего 20 зарубежом, из которых только 13 удалось протестировать, у 7 доступ по разным причинам оказался закрыт.
  3. 13 сервисов работают исключительно с Telegram: PuzzleBot, SAMBOT, Botmaker, Botobot, Fleep.бизнес, MenuBuilderBot, Телебиз, Client Hunter, Telegrambot.biz, Manybot, QNext, MyMakerBot, Bots.Business и из них только 1 зарубежный.
  4. Из группы "общие", в которой 42 конструктора, всего 18 имеют хотя бы одну нативную функцию.

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

Большое спасибо за прочтение! Надеюсь с таким материалом, вам будет намного проще подобрать сервис для создания чат-бота.

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

Вопросы по теме этой статьи и предложение темы для будущих статей можно задавать в комментарии или в бота Кладезь Telegram | Бот.

Петр, спасибо за сводную таблицу!

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

Из свежих работ у нас еще
1. Прямо сейчас финалим текстовую документаци, помимо видео инструкций.
2. Также недавно у нас появились не просто корзины, а мега магазины в новом функционале Телеграме:
https://vc.ru/tribuna/411653-sozdaem-internet-magazin-v-telegrame-kotoryy-zamenit-mobilnoe-prilozhenie
3. И в ближайших обновлениях "Интеграция с Google Sheets", чтобы она тоже была простой.

Развиваемся дальше и надеемся, что баллы, а значит и крутость сервиса и дальше будут расти.

Если по таблице принимаются пожелания, то я бы:

1. В раздел Интеграции добавил не только CRM системы.
Есть еще сервисы рассылок, смс, LMS, вебинаров, а также сервисы типа Make (он же Integromat ранее), Zapier и т.п. Нам технарям понятно, что можно многое сделать через "Исходящие запросы" и API, а другим, возможно, и нет. То есть популярными/востребованными бывают не только две наиболее известные CRM.

2. В колонке Обновления, где "-" (не нашли/не получили историю обновлений) получается баллов меньше, чем где "редко", хотя это может быть совсем не так.

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

4. В раздел "Поддержка" добавил бы еще "Услуги под ключ". Кому-то интересно "Сообщество", а кому-то заказать работу напрямую. У нас это еще и на 2 части разделить можно (под заказ почти все что угодно делаем для развития, а первичную настройку ботов бесплатно делаем при заказе тарифов).

А так все кажется супер для первой версии таблицы, всем видно, куда, возможно, нужно копать в направлении Телеграма :)

24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.

Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.

Рассмотрим API на примере создания тривиального бота:

Прежде чем начинать разработку, бота необходимо зарегистрировать и получить его уникальный id, являющийся одновременно и токеном. Для этого в Telegram существует специальный бот — @BotFather.

Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

2. Программирование

Создавать бота буду на Python3, однако благодаря адекватности этого языка алгоритмы легко переносятся на любой другой.


Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.


Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.

Собственно, её код довольно прост:

Теперь, когда вся логика бота описана можно начать придумывать ему команды.

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

command1 - Description
command2 - Another description
I:
whoisyourdaddy - Information about author
base64 - Base64 decode
BotFather: Success! Command list updated. /help

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

  • All messages that start with a slash ‘/’ (see Commands above)
  • Messages that mention the bot by username
  • Replies to the bot's own messages
  • Service messages (people added or removed from the group, etc.)

Для начала в Handler добавляем обработчик:


А потом в список команд добавляем псевдо-речь:


Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

Для примера расширим словарь RESPONSES:


И будем отлавливать текст :


Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:


И все, теперь бот будет время от времени присылать стикер вместо времени:


6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

Вспоминая статью про умный дом, могу сказать, что теперь извращений меньше, а работа прозрачнее.

7. Ограничения

К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:

Так как не знаю программирование (кроме C и VBA), то ищу конструктор для создания ботов Telegram.
Рассматриваются прежде всего бесплатные или не очень дорогие предложения: объем деятельности маленький. Бот интересен прежде всего, чтобы автоматизировать рутину, познать что-то новое.

  • Ответы на стандартные вопросы и ответы, с возможностью у пользователя задать свой вопрос или написать свое пожелания. Это делать умеют все.
  • При выборе пункта меню показать фото или местоположение
  • Принять у пользователя значения, чтобы рассчитать по формуле сумму. Как этот пункт реализовать? Нужна ли мне для этого БД? Сайт? Сервер? Не понимаю, как будут производиться вычисления.

Если вы уже сталкивались с ботами и конструкторами, то посоветуйте какой конструктор выбрать.

  • Вопрос задан более трёх лет назад
  • 7674 просмотра

Простой 3 комментария

DrunkMaster

я обычно использую BotTap - если заказчика устраивает оставляю, если нет, то пишу кастомное решение. в целом, удобно и много готовых решений под клиентов.

FRAYK

Я пользуюсь puzzlebot.top понравился тем, что интуитивно понятен. Плюсом еще умеет модерировать каналы и группы, а также делать неограниченные рассылки. Сервис бесплатный.

Пока нет возможности производить расчеты по формулам, но разрабы обещали добавить

BAYKINTOP

Отвечу только на часть вопроса, не касающуюся конструктора, т.к. по конструкторам ответить не готов (не встречал).
По нормальной схеме, для создания бота нужен, грубо говоря, "сайт" на сервере, доступный по протоколу HTTPS, на котором будет, как минимум, единственный скрипт "webhook", отвечающий на запросы от сервера Telegram, которые передают команды, получаемые от посетителей.
Чтобы рассчитать значение по формуле, в принципе, база данных не обязательна. Чтобы показывать фото по команде (=выборе пункта меню), тоже база данных не обязательна.
Но в базе данных удобно хранить настройки, привязываемые к Chat ID посетителя, поэтому база данных всё-таки по хорошему нужна. Но это всё далеко от темы "конструкторов" ботов.

Привет, спасибо за ответ.

Сайт это здорово, но пока не готов тратиться на хостинг, т.к. хранить ради бота сайт - глупо. Будут идеи покрупнее - сразу бы обзавелся хостингом.
На данный момент рассматриваю FlowXO. Он бесплатен, 500 итераций мне должно хватить (с учетом низкой популярности Telegram).
Как базу данных выбрал подключение к Google Docs. Расчеты по моим формулам надеюсь, что можно реализовать через них же, т.к. FlowXO не умеет рассчитывать по триггерам.

Общие сведения

Что могут делать боты?

Вот несколько примеров использования ботов:

  • Интеграция с другими сервисами. Например, бот может отправлять комментарии или управлять «умным домом». Или, например, отправлять вам уведомления при совершении каком-то действия или события (Примеры: GitHub Bot, Image Bot).
  • Утилиты и инструменты. Бот может отображать погоду, переводить тексты или предупреждать о предстоящих событиях по вашему запросу (Например: бот опросов).
  • Одно- и многопользовательские игры. Бот может поиграть с вами в шашки или шахматы, проводить викторины и так далее. (Пример: Trivia bot).
  • Социальные сервисы. Бот может находить вам собеседника, основываясь на ваших общих интересах и увлечениях. (Пример: HotOrBot).
  • Все, что вам захочется. Бота можно запрограммировать для чего угодно. Разве что посуду они помыть не смогут.

Как работают боты?

Как уже было сказано ранее, роботы — особые аккаунты, которые не требуют номера телефона при создании. По сути, эти аккаунты играют роль интерфейса к вашему сервису, который работает на удалённом сервере.

Рекомендуем также ознакомиться с подробным описанием Bot API.

The Botfather

Как создать бота?

Для этого есть. Бот. Просто напишите пользователю @BotFather и следуйте его инструкциям. Как только вы создали бота и получили свой ключ (токен) авторизации, переходите в раздел документации Bot API, чтобы начать настраивать вашего бота.

Чем бот отличается от обычного аккаунта?

Суперспособности

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

Инлайн-режим

Введите имя пользователя бота, затем ключевое слово

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

Новый рекорд в чате
Внутриигровой счёт

Под капотом у игр — HTML5, поэтому вы можете создавать игры любой сложности. На данный момент командой Telegram созданы несколько демо-игр:

Клавиатуры

Клавиатура для бота опросов
Клавиатура бота викторин
Клавиатура бота-калькулятора. Просто потому что.

За более подробной информацией обращайтесь к описанию метода sendMessage.

Команды

Команды представляют собой более гибкий способ общения с ботом. Рекомендуется следующий синтаксис:

Команда должна начинаться с символа косой черты «/» и не может быть длиннее 32 символов. Команды могут состоять из букв латинского алфавита, цифр и подчёркивания. Несколько примеров:

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

Это происходит автоматически, если вы выбираете команду из списка доступных.

Глобальные команды

Чтобы пользователям было проще работать с ботами, мы просим всех разработчиков реализовывать поддержку нескольких простых команд. В интерфейсе приложений Telegram будут ярлыки (быстрые ссылки) для этих команд.

При попытке начать общение с роботом, пользователь увидит кнопку СТАРТ. На странице профиля бота также будут доступны ссылки Помощь и Настройки.

Пустая история переписки с ботом
Профильная страница бота

Режим приватности

Внешнее связывание

Боты имеют механизм внешнего связывания, которые позволяет передать дополнительные параметры при запуске. Например, для передачи авторизационного токена пользователя, чтобы соединить его аккаунт с каким-либо внешним сервисом.

Допустимо использование символов A-Z , a-z , 0-9 , _ и - . Мы рекомендуем использовать base64url для кодирования параметров.

В PAYLOAD будет значение параметра start или startgroup , который был передан в ссылке.

Пример реализации внешнего связывания

BotFather

Создание бота

Напишите команду /newbot , чтобы создать нового робота. BotFather спросит у вас имя нового бота и предложит придумать username.

Имя (name) будет отображаться в контактах и чатах.

Username — короткое имя на латинице, которое используется для упоминаний бота и в ссылках на профиль в telegram.me. Username должен состоять из букв латинского алфавита, подчёркиваний и цифр и быть длиной от 5 до 32 символов. Также имя пользователя обязательно должно заканчиваться на «bot», например: «tetris_bot» или «TetrisBot».

Создание токена

Если вы потеряли или утратили доступ к токену, отправьте команду /token , чтобы сгенерировать новый.

Настройки

Пожалуйста, имейте в виду, что для применения настроек на сервере, возможно, потребуется некоторое время.

Сайт про Telegram на русском (неофициальный).

Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.

Читайте также: