🤖 Вкладка «Бот»
Вкладка «Бот» — это пульт управления ботами проекта. Здесь вы подключаете бота по токену, запускаете и останавливаете его, следите за статусом и временем работы, настраиваете основные параметры. Слева расположен список ботов проекта в виде карточек, справа — терминал с выводом запущенного бота.
Подключение бота по токену
Чтобы добавить бота, нажмите кнопку «Подключить бот» — откроется диалог подключения. Боту нужен токен, который выдаёт официальный бот Telegram @BotFather:
- Откройте Telegram и найдите @BotFather.
- Отправьте ему команду
/newbot. - Следуйте инструкциям и скопируйте выданный токен.
В диалоге сначала выберите проект, к которому добавляется бот. Затем выберите способ подключения:
- «Ввести новый» — вставьте свежий токен от @BotFather. Приложение проверит токен и подтянет имя и описание бота автоматически.
- «Выбрать существующий» — привяжите к проекту бота, токен которого уже был добавлен ранее в другом проекте.
Запуск, остановка и удаление
Удаление токена доступно владельцу и коллабораторам проекта (как создание и настройки). Посторонний получает отказ. После удаления список ботов обновляется live (token-deleted).
Каждый подключённый бот показан отдельной карточкой. В карточке доступны основные действия:
- Запустить — включить бота, чтобы он начал отвечать пользователям.
- Остановить — выключить работающего бота.
- Удалить — убрать бота из проекта.
Статус бота
Рядом с ботом отображается индикатор статуса. Он показывает, в каком состоянии находится бот:
| Статус | Что означает |
|---|---|
| Активный | Бот запущен и работает. Рядом идёт таймер времени работы |
| Готов | Бот подключён, но сейчас не запущен |
| По умолчанию | Токен помечен как основной для проекта |
У запущенного бота со статусом «Активный» отсчитывается время работы — таймер показывает, как долго бот непрерывно работает с момента запуска. Таймер располагается над всеми настройками, сразу под переключателем «Настройки / Переменные», и виден в обоих режимах.
Настройки в карточке
Карточка работает в двух режимах, между которыми переключает тумблер «Настройки» / «Переменные»:
- в режиме «Настройки» параметры задаются тумблерами и полями (описаны ниже);
- в режиме «Переменные» те же параметры видны и правятся как список «ключ — значение» (переменные окружения бота).
Изменения настроек применяются к боту после перезапуска.
Вид вкладки: Список и Холст
В шапке вкладки «Бот» есть переключатель «Список» / «Холст» (выбор запоминается в браузере).
- Список — привычные карточки ботов слева и терминал справа.
- Холст — боты как ноды на сетке (в духе Railway). Клик по ноде открывает overlay-панель справа поверх холста (холст не сжимается; камера подводит выбранную ноду к шву панели). Ширину панели можно тянуть за левый край (запоминается в браузере). На телефоне — sheet снизу. Вкладки панели (underline, как у Railway): История (по умолчанию), Настройки, Переменные, Терминал. В «Настройках» на холсте история запусков не дублируется. Отдельная колонка терминала в этом режиме не показывается — логи смотрите во вкладке «Терминал» панели.
- История (панель / карточка) — как Deployments у Railway: сверху текущий запуск (бейдж Онлайн / Остановлен / Ошибка, относительное время, кнопка «Логи»), ниже сворачиваемый список прошлых запусков. «Логи» открывает вкладку «Терминал» по выбранному
launchId. Бейдж «Онлайн» только если бот реально live; сиротскиеrunningв БД не показываются как онлайн (features/launch-history-status-reconciliation). - Нода на холсте — карточка сервиса: аватар, имя, тип Bot, бейдж Онлайн / Офлайн.
- Шапка панели — аватар, имя бота, бейдж Онлайн / Офлайн с точкой-индикатором, кликабельный
@username(открывает бота в Telegram) и группа кнопок «Запустить/Остановить · Удалить · Закрыть» в одной рамке.
Секции настроек
Настройки сгруппированы по секциям с одинаковыми заголовками и отступами: Запуск (токен бота, режим запуска, автоперезапуск), Данные (база данных, входящие фото, срок хранения сообщений, живое обновление контента), Логи и поведение (уровень логирования, catch-all, защита от копирования), Доступ (администраторы, владельцы), Дополнительно (userbot). На холсте ниже добавляется секция История запусков.
Все настройки показаны одинаковыми нейтральными карточками: иконка, название, пояснение и справа переключатель или поле. Цветом выделяется только сам переключатель и бейдж статуса бота — цветных заливок у карточек больше нет.
Переключатели и параметры
- База данных пользователей — сохранение данных о пользователях и истории сообщений в PostgreSQL. Под тумблером есть раскрывающийся спойлер «Что это за переключатель?» с пояснением: что именно собирается и где это видно. Когда выключена — бот работает без БД, и связанный с базой код не генерируется.
- Токен бота — маскированное значение; двойной клик открывает поле для нового токена от @BotFather (проверка через Telegram, затем остановка бота). Есть и в карточке списка, и в секции «Запуск» на холсте.
- Режим запуска —
pollingилиwebhook(для webhook задаются базовый URL и секретный токен). - Автоперезапуск — перезапускать ли бота при падении и сколько попыток подряд.
- Уровень логирования — детальность логов бота (DEBUG / INFO / WARNING / ERROR).
- Защита от копирования — запрет пересылки и сохранения сообщений бота. Когда выключена, соответствующий код не добавляется в бота.
- Сохранять входящие фото — скачивать и хранить присланные пользователями фото. Доступно только при включённой базе данных.
- Хранить сообщения — сколько дней держать историю в «Диалогах» (
Безлимит/ 7 / 30 / 60 / 90 / 180 / 365). По умолчанию безлимит. Старые сообщения сервер удаляет сам; длинный график «Активность» в аналитике не обнуляется (он хранится отдельно). Доступно только при включённой базе данных. Через MCP:db_set_messages_retention(см. mcp/bot-builder). Настройки карточки (срок хранения и остальные тумблеры) синкаются live между вкладками браузера и агентом — без F5 (features/token-settings-realtime). - Catch-all обработчики — ловить и логировать необработанные сообщения и нажатия. Можно выключить у простых ботов, чтобы не плодить лишний код; при наличии входящих-триггеров или динамических кнопок генератор включает их принудительно.
- Живое обновление контента — подхватывать правки таблицы
_contentбез перезапуска бота (фоновая перезагрузка и мгновенное обновление). Когда выключено — тексты становятся статичными до перезапуска, а фоновые задачи не создаются. - Userbot (Telethon) — параметры подключения пользовательского аккаунта (API ID/Hash, сессия), если бот использует userbot-возможности.
- Профиль бота — переход к редактированию имени и описания бота.
- Администраторы и Владельцы — список админских ID и доступ к проекту.
- История запусков — в настройках карточки — компактный вариант того же UI (текущий запуск + до 4 прошлых).
Проекты и перезапуск
В шапке вкладки есть переключатель проекта — он определяет, боты какого проекта показаны в списке. Рядом:
- «Перезапустить» — перезапускает только уже запущенные боты проекта;
- «Запустить офлайн» — поднимает только остановленных с действительным токеном (с подтверждением и счётчиком). Боты с недействительным токеном в счётчик не входят. Карточки обновляются live без F5 (features/start-offline-bots).
Обе кнопки есть и в режиме Список, и в режиме Холст (над холстом). Статусы карточек приходят одним запросом на проект (GET …/bot/statuses), а не по одному на каждого бота.
Гостевой режим
Если вы открыли конструктор без входа в аккаунт, вверху вкладки появляется баннер гостевого режима:
- «👋 Вы в гостевом режиме» — с кнопкой «Войти через Telegram», чтобы авторизоваться и получить полный доступ к управлению ботами.
- Если при этом бот уже работает, баннер сообщает об этом отдельно — «🤖 Ваш бот работает!».
Связанные страницы
- Терминал — логи и вывод запущенного бота.
- Код — сгенерированный по сценарию код проекта.
- Пользователи — список людей, которые пользуются ботом.
- Обзор интерфейса — все вкладки конструктора.