Как создать чат бота в телеграмме: путь от BotFather до рабочего сценария

Все статьи
Все статьи
Редакция Neurounit
24 июня 2026
Обновлено 22 августа 2026
Нейросети
Как создать чат бота в телеграмме: путь от BotFather до рабочего сценария
Чат-боты для Telegram: как работают, какие бывают, где взять готовые и платные решения, как выбрать и внедрить бота для бизнеса. Гид 2026.

Вопрос «как создать чат бота в телеграмме» распадается на три решения: где регистрировать бота, чем собирать логику и куда положить код, чтобы он работал круглосуточно. Регистрация занимает пять минут и всегда идёт через @BotFather, остальные два шага определяют бюджет и потолок возможностей. Ниже весь путь с опорой на документацию Telegram: лимиты Bot API, порты для вебхука, правила приватности в группах и порядок приёма оплаты.

Актуальная версия платформы: Bot API 10.2 от 14 июля 2026 года, в ней появились эфемерные сообщения, видимые в группе только одному пользователю. Номер версии проверяйте в разделе Recent changes на core.telegram.org/bots/api: часть примеров из старых руководств уже не соответствует поведению API.

Три способа создать чат бота: конструктор, код на Bot API, разработка под задачу

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

Параметр Конструктор Свой код на Bot API Разработка под задачу
Срок до первого диалога Несколько часов Один вечер для эхо-бота Недели
Что нужно уметь Собирать блок-схему Python или JavaScript Ничего, работу ведёт команда
Постоянные расходы От 990 до 3 999 рублей в месяц Сервер и домен с SSL Сервер плюс сопровождение
Где упирается Лимиты тарифа: подписчики, команды, запросы В квалификации разработчика В бюджете
Интеграции Готовый список, вебхук на верхних тарифах Любые по HTTP Любые, включая внутренние системы

Регистрация в @BotFather: имя, юзернейм и токен

Единственный официальный способ завести бота: написать @BotFather и отправить /newbot. Сервис попросит два значения. Имя отображается в контактах и меняется в любой момент. Юзернейм длиной от 5 до 32 символов, только латиница, цифры и подчёркивания, обязательно заканчивается на bot, например tetris_bot. Команды смены юзернейма в @BotFather нет: освободить имя можно только командой /deletebot, а она удаляет бота без отката. Выбирайте до того, как раздадите ссылку.

В ответ придёт токен вида 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Это единственный ключ доступа: кто им владеет, тот управляет ботом и читает переписку. Если токен утёк, команда /token у @BotFather выдаёт новый, старый перестаёт работать.

Там же настраивается витрина. Команда /setdescription задаёт текст до 512 символов на экране «Что умеет этот бот», /setabouttext короткое описание до 120 символов для профиля, оно уходит вместе со ссылкой при пересылке. Передача бота другому владельцу идёт через /mybots и возможна только тому, кто хотя бы раз с ботом взаимодействовал: новый владелец получает доступ к переписке и право удалить бота, откатить передачу нельзя.

Как создать чат бот в тг без кода: конструкторы и их реальные лимиты

Конструктор берёт на себя сервер, хранение подписчиков и редактор сценария, токен из @BotFather вставляется в панель площадки. Разница между сервисами видна не в функциях, а в том, на каком объёме включается следующий тариф. Цены проверены 22 августа 2026 года на страницах тарифов.

  • PuzzleBot. Тарифицирует боты и подписчиков: 990 рублей в месяц за 2 бота и 3 000 подписчиков на ресурс, 1 690 рублей за 4 бота и 30 000, 2 990 рублей за 8 ботов и 60 000. Отдельной строкой лимит исходящих запросов: 15 000 в месяц на тарифе за 990 рублей.
  • Salebot. Тарифицирует сообщения: «Бизнес» 2 999 рублей в месяц за 10 000 сообщений в сутки, «Инфобизнес» 3 999 рублей. Пакеты докупаются отдельно: плюс 10 000 сообщений в день стоят 1 890 рублей.
  • BotHelp. Тариф PRO от 1 599 рублей в месяц с оплатой по подписчикам, 0,25 рубля за подписчика. SCALE для высокой нагрузки от 29 990 рублей. ИИ-ассистент тарифицируется отдельно: 499 рублей за 5 миллионов токенов.

Считайте год, а не месяц, и не по цене входа, а по строке, в которую упрётесь первой. У PuzzleBot это подписчики: 3 000 на ресурс за 990 рублей, следующая ступень 30 000 уже за 1 690, дальше 60 000 за 2 990. У Salebot первой упирается не база, а суточный объём сообщений. Бесплатные тарифы этих же площадок и их потолки разобраны в материале о бесплатных чат-ботах для Telegram.

Сборка на Bot API: как устроен запрос и какие библиотеки брать

Bot API это обычный HTTPS-интерфейс: запросы идут по схеме https://api.telegram.org/bot<token>/METHOD_NAME, поддерживаются GET и POST. Первый запрос после регистрации: getMe, он проверяет токен. Второй: sendMessage, где поле text принимает от 1 до 4096 символов после разбора разметки, длинный ответ придётся резать на части самому.

Писать запросы руками не нужно. Актуальные версии библиотек на 22 августа 2026 года: aiogram 3.30.0 и python-telegram-bot 22.8 для Python, обе требуют Python 3.10 и выше, pyTelegramBotAPI 4.36.1 как более простой вариант, grammY 1.45.1 и Telegraf 4.16.3 для Node.js. Библиотека закрывает маршрутизацию апдейтов, состояния диалога и повторы при ошибках сети.

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

Long polling или вебхук: как бот получает сообщения

Способов получать апдейты ровно два, и они взаимоисключающие: пока установлен вебхук, getUpdates не работает. Непрочитанные апдейты хранятся на сервере Telegram не дольше 24 часов.

Long polling. Бот сам опрашивает сервер методом getUpdates и получает до 100 самых ранних неподтверждённых апдейтов. Подтверждение делается параметром offset: update_id последнего обработанного апдейта плюс единица. Забыли пересчитать offset, получите одни и те же сообщения по кругу. Зато не нужны ни домен, ни сертификат.

Вебхук. Telegram сам шлёт POST-запрос на ваш URL. Требования объясняют большую часть проблем на старте: валидный SSL-сертификат, только порты 443, 80, 88 и 8443, редиректы не обрабатываются, CN сертификата точно совпадает с доменом, wildcard может не приниматься. Параметр max_connections задаёт от 1 до 100 одновременных подключений, по умолчанию 40. От подделки запросов защищает secret_token от 1 до 256 символов, он приходит в заголовке X-Telegram-Bot-Api-Secret-Token.

Нужен бот, который переживёт нагрузку

Соберём Telegram-бота под ваш сценарий: вебхук на своём сервере, интеграция с CRM и оплатой, сопровождение после запуска. Срок и смету называем до старта работ.

Обсудить задачу

Где разместить бота и когда нужен свой Bot API сервер

Боту нужен процесс, который работает постоянно: закрыли крышку ноутбука, бот замолчал. Минимум это виртуальный сервер с Linux, systemd-юнит или контейнер для автозапуска и мониторинг. Для вебхука добавляются домен и сертификат: HTTP Telegram не принимает.

Второй сценарий: свой сервер Bot API из репозитория telegram-bot-api. Он снимает ограничения облачного: скачивание без лимита по размеру, загрузка до 2000 МБ, для вебхука разрешены HTTP-адрес, любой локальный IP и любой порт, max_webhook_connections до 100 000. Перед переходом нужно вызвать метод logOut, иначе доставка апдейтов не гарантируется.

Ограничения облачного Bot API знайте заранее: бот отправляет файлы до 50 МБ и скачивает через getFile файлы до 20 МБ. Идентификаторы file_id постоянны, поэтому загруженный однажды документ пересылается по идентификатору без повторной заливки.

Интерфейс: команды, кнопки, меню и ссылки с параметром

Диалог держится на четырёх элементах, у каждого свои ограничения в API.

  1. Команды. Задаются методом setMyCommands или через /setcommands. Максимум 100 команд, сама команда от 1 до 32 символов строчной латиницей, цифрами и подчёркиванием, описание от 1 до 256 символов. Список можно разводить по языкам и областям видимости.
  2. Кнопка меню. Появляется рядом с полем ввода и по умолчанию открывает список команд. Меняется методом setChatMenuButton, в том числе индивидуально для пользователя.
  3. Инлайн-кнопки. Крепятся к сообщению, поле callback_data вмещает от 1 до 64 байт. После нажатия клиент показывает индикатор загрузки, пока бот не вызовет answerCallbackQuery, поэтому вызывать его нужно всегда.
  4. Ссылки с параметром. К адресу t.me/имя_бота добавляется start-параметр до 64 символов из набора A-Z, a-z, 0-9, подчёркивание и дефис. Так передаётся источник перехода или идентификатор товара без вопросов пользователю, для бинарных значений документация советует base64url.

Отдельный формат это Mini App: веб-интерфейс внутри мессенджера, который открывается из кнопки. Оправдан там, где нужны каталог, календарь записи или личный кабинет.

Бот в группе: режим приватности и что бот вообще видит

В личном чате бот видит все сообщения. В группе по умолчанию включён режим приватности, и до бота доходят только команды с явным адресом вида /command@this_bot, общие команды вроде /start, если бот писал последним, сообщения, отправленные через него, и ответы на его сообщения. Плюс служебные сообщения и сообщения каналов, где бот состоит.

Режим отключается командой /setprivacy, но изменение сработает только после того, как бота заново добавят в группу. Бот-администратор получает все сообщения независимо от настройки. И правило, о которое спотыкаются при связке двух ботов: бот никогда не видит сообщения других ботов, это защита от циклов.

Следствие для рассылок: бот не пишет человеку первым. Диалог начинает пользователь кнопкой «Начать», и только после этого бот получает право отправлять сообщения в этот чат.

Приём оплаты внутри бота: Telegram Stars и внешние провайдеры

Разделение жёсткое. Цифровые товары и услуги, то есть доступы, подписки, курсы и генерации, продаются только за Telegram Stars с кодом валюты XTR: других валют платформа для цифровых продаж не принимает. Физические товары проводятся через сторонних платёжных провайдеров с токеном от @BotFather.

Порядок оплаты в Stars: sendInvoice с currency XTR и пустым provider_token, апдейт с полем pre_checkout_query, подтверждение методом answerPreCheckoutQuery, апдейт successful_payment и только после него выдача товара. На ответ по pre_checkout_query документация даёт ровно 10 секунд, значит проверку остатка и брони надо укладывать в этот интервал. Идентификатор telegram_payment_charge_id сохраняйте: без него не сделать возврат методом refundStarPayment.

Параметр start_parameter задаёт поведение пересылки: мультичатовый счёт сохраняет кнопку оплаты в копиях и может быть оплачен несколькими людьми, одночатовый превращается в ссылку на бота. Тестировать оплату можно бесплатно в отдельном тестовом окружении Telegram.

Лимиты рассылок и ошибка 429

Отправка ограничена не объёмом в месяц, а скоростью. Официальные значения: не больше одного сообщения в секунду в один чат, не больше 20 сообщений в минуту в одну группу, не больше примерно 30 сообщений в секунду на массовой рассылке. Короткие всплески иногда проходят, затем начинают возвращаться ошибки 429.

Платные рассылки поднимают потолок до 1000 сообщений в секунду. Каждое сообщение сверх бесплатных 30 в секунду стоит 0,1 Stars с баланса бота, но порог входа высокий: минимум 100 000 Stars на балансе и 100 000 активных пользователей в месяц. Без этих объёмов документация советует растягивать рассылку на 8-12 часов.

Для базы в 50 000 подписчиков это значит: при потолке около 30 сообщений в секунду идеальная отправка займёт примерно 28 минут, с повторами закладывайте час. Как считать эффект от таких сообщений, разобрано в материале о чат-ботах для бизнеса.

Тестирование и чек-лист перед запуском

Бот ломается не на главном сценарии, а на боковых ветках. Перед раздачей ссылки пройдите проверку по списку.

  • Пройдены все ветки диалога, включая ту, где пользователь пишет текст вместо кнопки.
  • Есть кнопка выхода на оператора: без неё нестандартный вопрос упирается в стену.
  • Настроен список команд через setMyCommands, минимум /start и /help.
  • Токен лежит в переменных окружения, а не в коде, и не попал в репозиторий.
  • Для вебхука проверены сертификат, порт из списка 443, 80, 88, 8443, отсутствие редиректов.
  • Процесс перезапускается автоматически, есть логи и уведомление о падении.
  • Оплата проверена в тестовом окружении, включая возврат.
  • Проверено поведение в группе при включённом и выключенном режиме приватности.

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

Проверьте за минуту, какой путь ваш

  1. Сценарий укладывается в дерево кнопок или бот должен понимать свободный текст?
  2. Нужны интеграции с CRM, складом, расписанием или платёжным сервисом?
  3. Сколько диалогов в сутки ожидаете: десятки, сотни или тысячи?
  4. Есть требование хранить переписку на своём сервере?

Три ответа в пользу интеграций и своего сервера означают, что конструктор станет ограничением уже на старте.

Обсудить задачу

Частые вопросы

Сколько времени занимает создание бота

Регистрация в @BotFather занимает пять минут, эхо-бот на aiogram 3.30.0 собирается за вечер. Сценарий с меню, сбором заявки и отправкой в CRM это от нескольких дней до пары недель по числу интеграций. На конструкторе простая анкета собирается за несколько часов.

Можно ли обойтись без своего сервера

Да, если брать конструктор: он держит бота на своей инфраструктуре, вы вставляете токен. При long polling сервер формально не нужен, но процесс должен где-то работать постоянно. Вебхук без сервера невозможен: нужны домен, валидный SSL и порт 443, 80, 88 или 8443.

Почему бот не отвечает в группе

Скорее всего включён режим приватности, он стоит по умолчанию и обрезает всё, кроме адресных команд и ответов боту. Проверьте два пункта: обращаются ли к боту через /command@this_bot и не остался ли включённым режим после /setprivacy, ведь изменение вступает в силу только после повторного добавления бота в группу. Быстрый обход без отключения режима: выдать боту права администратора, тогда он получает все сообщения.

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

Цифровые товары и подписки проводятся только через Telegram Stars, валюта XTR, provider_token при этом пустой. Цепочка: sendInvoice, затем pre_checkout_query с ответом в течение 10 секунд, затем successful_payment. Сохраняйте telegram_payment_charge_id, без него возврат через refundStarPayment невозможен.

Что делать при ошибке 429

Это превышение скорости отправки, а не месячной квоты. Лечится очередью на стороне бота: одна отправка за раз с паузой, повтор упавших сообщений с задержкой и растягивание рассылки на 8-12 часов, как советует документация. Если очередь уже стоит, а 429 продолжаются, значит бот шлёт быстрее 30 сообщений в секунду и упирается в бесплатный потолок, снять который можно только платными рассылками.

Поделиться:
X
Редакция Neurounit

Разборы инструментов, гайды и новости про нейросети, AI-маркетинг и автоматизацию. Материалы готовит редакция агентства Neurounit.

Факты и цифры проверяет редакция агентства Neurounit. Вопросы и уточнения: Telegram.

Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга
Разборы, механика и результаты AI-маркетинга