EnotPRO Logo EnotPRO

Отладка

Введение

Отладка — это процесс поиска и исправления ошибок в работе вашего бота. В этом разделе вы найдёте:

  • Пошаговые алгоритмы для типичных проблем
  • Как читать логи и находить ошибки
  • Инструменты для тестирования
  • Частые ошибки и их решения

💡 Совет: Если бот работает не так, как ожидалось, начните с логов — они показывают всё, что происходит.

Быстрый чек-лист для любой проблемы

  1. Включён ли бот? (/adm → Настройки → Бот)
  2. Настроен ли технический чат?
  3. Есть ли событие в логах (фильтр «Update»)?
  4. Есть ли ошибка в логах (фильтр «Error»)?
  5. Правильно ли настроен обработчик?
  6. Правильно ли указаны переменные (${...})?
  7. Не истекло ли время жизни переменной?
  8. Достаточно ли прав у бота (для групп/каналов)?

Бот не отвечает: чек-лист

Если бот игнорирует сообщения пользователя, выполните последовательно следующие шаги.

Шаг 1: Проверьте статус бота

/adm → Настройки → Бот

Состояние Что означает Действие
☑️ (включён) Бот работает Идти к шагу 2
⬜️ (выключен) Бот остановлен Включите бота

Шаг 2: Проверьте технический чат

/adm → Настройки → Технический чат

Технический чат должен быть выбран. Если он не выбран — выберите любой чат (можно создать отдельную группу и добавить туда бота).

Совет:

Шаг 3: Проверьте логи

/adm → Настройки → Логи

Включите фильтры «Update» и «Error».

Что вы видите Что означает Действие
Нет событий Бот не получает обновления от Telegram Проверьте подключение бота (шаг 4)
Есть события, но нет реакции Обработчик не сработал Проверьте настройки обработчика (шаг 5)
Есть ошибки (красные записи) Произошла ошибка См. раздел «Чтение логов» ниже

Шаг 4: Проверьте подключение бота

Отправьте боту команду /start и посмотрите на ответ.

Что происходит Проблема Решение
Бот не отвечает вообще Токен неверный или бот не запущен Перепроверьте токен в настройках, перезапустите бота
Бот отвечает инструкцией Обработчик имеет настройку "по умолчанию" Перенастройте обработчик под свои задачи
Бот отвечает, но не так, как нужно Логика обработчика неверна Проверьте реакции в обработчике

Шаг 5: Проверьте обработчик

/adm → Обработчики → [ваш обработчик]

Проверьте Что должно быть
Условие Текст команды (например, /start) или регулярное выражение
Область действия «Задействовать в привате» — включено (для личных чатов)
Реакции Хотя бы одна реакция (например, SendMessage)

Чтение логов

Как открыть логи

  1. Перейдите в /adm → Настройки → Логи
  2. Пройдите авторизацию (один раз в браузере/клиенте)
  3. Откроется страница с событиями бота

Фильтры логов

Фильтр Что показывает Когда использовать
Update Входящие события от Telegram Проверить, что пришло от пользователя
Request Запросы бота к Telegram API Проверить, что бот отправляет
Response Ответы Telegram API Проверить, успешен ли запрос
Error Ошибки Найти причину проблемы
Context Отформатированные данные (реакция Log) Детальная отладка

Типичные ошибки и их решение

Ошибки отправки сообщений

Ошибка в логах Причина Решение
chat_id is empty Не указан получатель Добавьте chat_id: ${user.id} или ${chat.id}
message text is empty Нет текста сообщения Заполните поле «Текст» в SendMessage
message is too long Текст > 4096 символов Используйте string.truncate или разбейте на несколько сообщений
can't parse entities Неверный HTML/Markdown Проверьте синтаксис форматирования
bot was blocked by the user Пользователь заблокировал бота Игнорируйте (или удалите из списков)

Ошибки обработчиков

Симптом Причина Решение
Обработчик не срабатывает Не включена область действия Включите «Задействовать в привате»
Обработчик срабатывает на чужие сообщения Условие слишком общее Сделайте условие более конкретным
Обработчик срабатывает не в том порядке Неправильный приоритет Увеличьте приоритет нужному обработчику

Ошибки переменных

Симптом Причина Решение
${var.person.name} пусто Переменная не загружена Вызовите GetVarCloud перед использованием
variable not found Неправильное имя переменной Проверьте название (регистр важен)
Значение не сохраняется Не вызван SetVarCloud Добавьте реакцию сохранения

Ошибки HTTP-запросов (SendRequest)

Код ошибки Причина Решение
400 Bad Request Неверный JSON в теле запроса Проверьте синтаксис JSON
401 Unauthorized Неверный токен Проверьте заголовок Authorization
404 Not Found Неверный URL Проверьте адрес API
429 Too Many Requests Слишком много запросов Добавьте задержку (Wait)
timeout API не ответил за 30 секунд Увеличьте таймаут или используйте отложенные действия

Ошибки вебхуков

Симптом Причина Решение
Вебхук не приходит Неверный URL Скопируйте URL заново из интерфейса EnotPro
Ошибка 404 Неправильный путь Проверьте, что вебхук включён
Ошибка 405 Неверный HTTP-метод Разрешите метод POST в настройках вебхука
Вебхук приходит, но не обрабатывается Таймаут > 30 секунд Вынесите длительные операции в FINISH

Отладка форм

Валидация не срабатывает

Проблема Причина Решение
Поле принимает любые символы Не указано регулярное выражение Добавьте regex в настройки поля
Не показывается ошибка Триггер «Ошибка поля» не настроен Добавьте SendMessage в триггер ошибки
Пользователь проходит поле с ошибкой Стандартная валидация отключена Включите проверку в настройках поля
© 2025 EnotPRO. Все права защищены.