Как создать Telegram-бота
Telegram-бот может принимать заявки, отвечать на вопросы, собирать данные, отправлять уведомления, подключаться к CRM и работать как интерфейс для AI-сервиса. В этом гайде разберём практический путь: как создать бота через BotFather, получить token, выбрать webhook или polling, продумать сценарий, задеплоить бота и не допустить базовых ошибок безопасности.
Что можно сделать через Telegram-бота
Telegram-бот — это не просто автоответчик. Он может быть точкой входа в услугу, AI-консультанта, CRM-воронку, мини-сервис или поддержку.
Для AIWEBNET workflow Telegram-бот особенно полезен как быстрый MVP: можно проверить идею, собрать заявки и подключить автоматизацию без полноценного приложения.
- Принимать заявки от клиентов.
- Отвечать на частые вопросы.
- Собирать брифы.
- Отправлять уведомления.
- Подключаться к CRM.
- Работать с AI API.
- Принимать оплату.
- Запускать Telegram Mini App.
Что понадобится перед созданием бота
Перед созданием бота важно понять, какую задачу он решает. Бот без сценария быстро превращается в набор случайных кнопок.
Минимально нужно подготовить Telegram-аккаунт, идею сценария, структуру сообщений и место, где будет работать код бота.
- Telegram-аккаунт.
- Понимание сценария бота.
- Название и username бота.
- Доступ к BotFather.
- Token бота.
- Сервер или хостинг для deploy.
- Понимание webhook или polling.
- План безопасности token.
Шаг 1. Создайте бота через BotFather
BotFather — официальный бот Telegram для создания и настройки новых ботов.
Через него создаётся bot token, username, описание, команды и базовые параметры.
- Откройте Telegram.
- Найдите BotFather.
- Запустите диалог.
- Создайте нового бота.
- Укажите имя бота.
- Укажите username, который заканчивается на bot.
- Сохраните token в безопасном месте.
- Не публикуйте token в коде или открытом репозитории.
Шаг 2. Сохраните и защитите token
Token — это ключ управления ботом. Если он попадёт в чужие руки, другой человек сможет управлять ботом через API.
Token нельзя хранить в публичном коде, скриншотах, открытых чатах или GitHub repository.
- Храните token в environment variables.
- Не вставляйте token напрямую в код.
- Не отправляйте token в публичный GitHub.
- Если token утёк, перевыпустите его через BotFather.
- Используйте разные переменные для local и production.
- Проверяйте, что .env.local добавлен в .gitignore.
Шаг 3. Продумайте сценарий бота
Хороший Telegram-бот начинается не с кода, а со сценария. Нужно понять, что пользователь должен сделать и какой результат получить.
Для MVP лучше начать с простого сценария: приветствие, выбор действия, сбор данных, подтверждение и уведомление владельцу.
- Приветствие.
- Главное меню.
- Выбор услуги или действия.
- Сбор имени и контакта.
- Сбор описания задачи.
- Подтверждение заявки.
- Уведомление администратору.
- Ответ пользователю о следующих шагах.
Шаг 4. Webhook или polling: что выбрать
Telegram-бот может получать обновления двумя основными способами: через polling или webhook.
Polling проще для старта и тестов. Webhook лучше подходит для production, когда бот должен стабильно принимать события через публичный URL.
- Polling проще запустить локально.
- Polling удобен для тестов и первых экспериментов.
- Webhook требует публичный HTTPS URL.
- Webhook лучше подходит для production.
- Нельзя одновременно стабильно использовать webhook и polling для одного бота.
- При переходе на production нужно проверить, какой режим активен.
Шаг 5. Подготовьте логику сообщений
До сложной автоматизации нужно сделать понятную логику сообщений. Пользователь должен понимать, что бот умеет и что нужно нажимать дальше.
Не перегружайте первый экран: лучше дать 2–4 понятных действия, чем длинное меню.
- Команда start.
- Приветственное сообщение.
- Кнопки основных действий.
- Сценарий заявки.
- Ответ при ошибке.
- Сообщение после отправки заявки.
- Уведомление администратору.
- Возможность вернуться в главное меню.
Шаг 6. Подключите хранение данных
Если бот принимает заявки, ему нужно куда-то сохранять данные. На старте можно использовать простую связку с таблицей, CRM или базой данных.
Для серьёзного проекта лучше заранее продумать структуру данных: пользователь, контакт, заявка, статус, источник.
- Google Sheets для простого MVP.
- CRM для заявок и продаж.
- База данных для продукта.
- Логи сообщений для диагностики.
- Статусы заявок.
- История взаимодействий.
- Уведомления администратору.
Шаг 7. Задеплойте Telegram-бота
Чтобы бот работал постоянно, код должен быть размещён на сервере или платформе, которая поддерживает ваш сценарий.
Если используется webhook, production URL должен быть доступен по HTTPS.
- Проверьте, что bot token добавлен в environment variables.
- Проверьте, что код запускается локально.
- Выберите hosting/deploy платформу.
- Настройте webhook или polling.
- Проверьте production logs.
- Отправьте тестовое сообщение боту.
- Проверьте, что администратор получает уведомление.
- Проверьте, что бот не падает после ошибки пользователя.
Telegram Mini App: когда нужен следующий уровень
Telegram Mini App нужен, когда обычных сообщений и кнопок уже недостаточно. Mini App позволяет открыть внутри Telegram полноценный интерфейс: форму, каталог, кабинет, оплату или сложный workflow.
Не стоит начинать с Mini App, если задача решается простым ботом. Сначала лучше проверить сценарий через обычного бота.
- Mini App подходит для личного кабинета.
- Подходит для каталога или формы заявки.
- Подходит для сложного интерфейса.
- Подходит для оплаты и статусов.
- Требует фронтенд и backend.
- Требует проверки авторизации Telegram.
- Лучше подключать после проверки MVP.
Безопасность Telegram-бота
Ошибки безопасности в боте могут привести к утечке token, спаму, доступу к заявкам или неправильной работе платежей.
Даже простой бот должен иметь минимальные правила защиты.
- Не храните token в публичном коде.
- Ограничьте admin-действия по user ID.
- Проверяйте входящие данные.
- Не доверяйте данным от пользователя без проверки.
- Логируйте ошибки без раскрытия секретов.
- Не отправляйте персональные данные в открытые каналы.
- Используйте HTTPS для webhook.
- Перевыпускайте token при утечке.
Частые ошибки при создании Telegram-бота
Большинство проблем появляется из-за слабого сценария, неправильного token, отсутствия production URL или смешивания webhook и polling.
Перед добавлением сложной логики лучше убедиться, что базовый цикл работает: пользователь пишет боту, бот отвечает, данные сохраняются, администратор получает уведомление.
- Token попал в GitHub: перевыпустите token и удалите секреты из проекта.
- Бот не отвечает: проверьте token, режим polling/webhook и logs.
- Webhook не работает: проверьте HTTPS URL и доступность endpoint.
- Дублируются сообщения: проверьте, не запущены ли polling и webhook одновременно.
- Заявки не сохраняются: проверьте интеграцию с таблицей, CRM или базой.
- Бот падает на нестандартном сообщении: добавьте обработку ошибок.
- Пользователь не понимает меню: упростите сценарий и кнопки.
- Админ не получает уведомление: проверьте chat ID и права бота.
Как проверить, что бот работает правильно
После запуска нужно проверить не только команду start, но и весь пользовательский путь.
Важно протестировать обычные сценарии, ошибки пользователя и production-поведение.
- Бот отвечает на /start.
- Главное меню отображается.
- Кнопки работают.
- Заявка создаётся.
- Данные сохраняются.
- Администратор получает уведомление.
- Ошибочные сообщения не ломают бота.
- Token не хранится в коде.
- Production logs не показывают критических ошибок.
- Webhook или polling работает стабильно.
Production checklist для Telegram-бота
Этот чек-лист помогает понять, готов ли бот к пользователям, заявкам или интеграции с AI.
Если бот связан с бизнесом, оплатой или персональными данными, проверка обязательна.
- Token хранится в environment variables.
- .env.local не попадает в GitHub.
- Сценарий пользователя понятен.
- Есть обработка ошибок.
- Есть логирование.
- Admin-доступ ограничен.
- Заявки сохраняются.
- Уведомления приходят.
- Webhook использует HTTPS.
- Production deploy стабилен.
- Есть план rollback.
- Пользователь получает понятный ответ после действия.
Связанные гайды AIWEBNET
Telegram-бот тоже должен проходить production workflow: код, GitHub, deploy, переменные окружения и проверка ошибок.
Что делать дальше
После базового Telegram-бота можно подключить CRM, оплату, AI-ответы, базу данных или Mini App.
Но лучше расширять бота по этапам: сначала заявки, потом автоматизация, потом AI, потом полноценный интерфейс.
- Добавьте CRM.
- Подключите оплату.
- Добавьте AI-ответы.
- Добавьте базу данных.
- Сделайте Telegram Mini App.
- Настройте аналитику заявок.
- Проверьте безопасность.
- Подготовьте SEO-страницу услуги или продукта.