EnotPRO Logo EnotPRO

Отложенные действия (ОД)

ОД — Отложенное действие, которое можно запустить после выполнения пользователем любого действия, связанного с ботом.

Назначение

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

  • Напоминаний и уведомлений
  • Отложенной отправки сообщений
  • Автоматических действий через заданный интервал
  • Длительных операций (обработка данных, интеграции)

Настройки

Функция Описание
Название Техническое название, которое видят только администраторы
Режим работы Отложенные действия могут работать в нескольких режимах
Отсрочка Настройка времени срабатывания ОД
Динамическая отсрочка Выбор режима работы ОД
Данные Сохранение данных из контекста доступного перед запуском ОД
Сохранять завершенные Сохранение результатов выполненных работ
Удалить Удаление отложенного действия

Передача данных в отложенное действие

При запуске отложенного действия через реакцию StartTask вы можете передать данные в параметре «Данные». Эти данные будут доступны внутри отложенного действия через переменную ${task.data}.

Формат данных

Параметр «Данные» принимает JSON-объект:

{
  "user_id": 123456789,
  "message": "Напоминание о встрече",
  "chat_id": -100123456789
}

Пример передачи данных

Реакция StartTask:

Параметр Значение
Отложенное действие send_reminder
Данные {"user_id": ${user.id}, "message": "Не забудьте подтвердить заказ"}

Внутри отложенного действия send_reminder:

Переменная Значение
${task.data.user_id} ID пользователя
${task.data.message} Текст напоминания

Пример реакции внутри ОД:

SendMessage →
  chat_id: ${task.data.user_id}
  Текст: ${task.data.message}

Использование переменных в данных

Вы можете использовать переменные и макросы внутри JSON:

{
  "user_id": ${user.id},
  "amount": ${var.person.balance},
  "time": "!{time|value:now; output_format:DD.MM.YYYY hh:mm}"
}

Режим работы

Режим Описание
Режим по умолчанию запускает ОД, при попытке повторного запуска ОД ничего не произойдет
Режим замены запускает ОД, при повторном запуске перезапускает работающее ОД
Режим добавления запускает ОД, при повторном запуске создает еще одно ОД, не отменяя ранее запущенные

Триггер

Главный раздел, здесь необходимо указывать все реакции, которые должно выполнить ОД.

Подробнее о реакциях можно узнать в разделе Реакции.

⚠️ Частые ошибки и их решение

Ошибка 1: Данные не передаются

Причина: В параметре «Данные» указан невалидный JSON.

Решение: Проверьте синтаксис JSON. Убедитесь, что все строки заключены в кавычки, а запятые расставлены правильно.

❌ Неправильно:

{user_id: ${user.id}, message: текст}

✅ Правильно:

{"user_id": ${user.id}, "message": "текст"}

Ошибка 2: Отложенное действие не срабатывает

Причина: Неверно указано время отсрочки.

Решение: Проверьте формат времени в настройках ОД. Используйте макрос !{time} для динамической отсрочки.

Ошибка 3: ОД срабатывает несколько раз

Причина: Неправильно выбран режим работы.

Решение:

  • Для однократного выполнения используйте «Режим по умолчанию»
  • Для обновления времени используйте «Режим замены»

Ошибка 4: Данные потеряны при перезапуске ОД

Причина: В режиме замены данные обновляются при каждом запуске.

Решение: Убедитесь, что в режиме замены данные передаются корректно при каждом вызове StartTask.

🔗 Связанные разделы

  • StartTask — запуск отложенного действия
  • StopTask — остановка отложенного действия
  • Макрос time — для динамической отсрочки
© 2025 EnotPRO. Все права защищены.