Ограничения и slash-команды
Виджет / Ограничения

Slow mode, banned patterns, slash-команды

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

Slow mode — антифлуд

Когда включён, после каждой отправки сообщения посетитель должен подождать seconds_per_message секунд перед следующей. Кнопка «Отправить» становится disabled, под композером появляется chip-таймер «Подождите ещё N с до следующего сообщения».

Время последней отправки персистится в localStorage (ключ sh-slow-mode-last-sent) — cooldown переживает refresh страницы.

advanced.slow_mode.enabled
Тип: booleanПо умолчанию: false
Включить/выключить.
advanced.slow_mode.seconds_per_message
Тип: number (1–300)По умолчанию: 3
Минимальный интервал между сообщениями. Для типичной поддержки 3–10 сек норм; для очень открытого виджета на публичном сайте — 30–60 сек.
advanced.slow_mode.anonymous_only
Тип: booleanПо умолчанию: true
Применять только к неавторизованным посетителям (тех, кто не прошёл через SupportHub.identify(...)). Если у вас есть кабинет пользователя и вы знаете, кто пишет — логичнее не ограничивать.

Banned patterns — стоп-слова

Список регулярных выражений; перед отправкой сообщения композер прогоняет тело через них. Если хоть одно совпадает — send блокируется, под композером всплывает чип «Сообщение содержит запрещённые слова» (3 секунды и исчезает).

advanced.banned_patterns
Тип: string[]По умолчанию: []
Массив regex-паттернов. Регистронезависимые, без слэшей — просто тело выражения. Невалидные regex'ы тихо пропускаются (на бэкенде дублирующая валидация).
advanced.banned_patterns (пример)json
[
  "хуй",
  "пизд",
  "\\b(money|cash|crypto)\\s+(transfer|wire)\\b",
  "https?://(?!example\\.com)"
]

Slash-команды

Когда посетитель пишет /refund или /help, виджет может развернуть это в шаблонный ответ. Полезно для:

  • Самообслуживания — посетитель набирает /order и видит готовый текст «Подскажите номер заказа, проверим в течение 5 минут», который потом отправит как обычное сообщение.
  • Стандартных вопросов — операторы экономят время на типовых ответах, потому что половина «привет, у меня вопрос про X» оформляется через /X.
advanced.slash_commands[].trigger
Тип: stringПо умолчанию:
Короткое имя команды, начинающееся с /. Длина 1–50.
advanced.slash_commands[].label
Тип: stringПо умолчанию:
Подпись для будущего autocomplete-меню (1-200).
advanced.slash_commands[].body
Тип: stringПо умолчанию:
Текст, на который заменяется сама команда при отправке (1-4000).
advanced.slash_commands (пример)json
[
  {
    "trigger": "/refund",
    "label": "Запрос возврата",
    "body": "Здравствуйте! Подскажите номер заказа и причину возврата — я проверю в течение 5 минут."
  },
  {
    "trigger": "/order",
    "label": "Статус заказа",
    "body": "Подскажите номер вашего заказа — я найду его в системе."
  }
]

Как это видит посетитель

Если посетитель набирает в композере /refund #1234 и нажимает Enter, виджет:

  1. Узнаёт префикс /refund в списке команд.
  2. Заменяет тело сообщения на "Здравствуйте! Подскажите номер заказа... #1234" (хвост после команды добавляется в конец).
  3. Отправляет уже развёрнутый текст оператору. В тред улетает не /refund #1234, а готовый запрос.
Была ли страница полезной?