Перейти к основному контенту

Контакт-центр Metabot

изображение.png


Для чего нужен контакт-центр


С помощью бота, Вы автоматизируете ответы на вопросы Ваших клиентов, а с помощью контакт-центра операторы подключаются к диалогу и отвечают на вопросы, которые не смог решить бот или если клиент прошел "необходимый путь по боту" и далее необходимо связаться с ним и уточнить некоторые детали. Для того чтобы операторы могли где-то общаться с клиентами и необходим контакт-центр. Клиент при этом продолжает общение в том же мессенджере, где и начал диалог с ботом. После общения с клиентом оператор может переключить клиента обратно на общение с ботом.

Контакт-центр это одновременно мульти-канальное и мульти-ботовое рабочее место операторов вашего бизнеса, это означает, что операторы могут общаться с клиентами различных ботов в едином пространстве, а боты могут быть подключены к любым каналам, которые поддерживает платформа Metabot.

Контакт-центр поддерживает автоматическое распределение диалогов по операторам, при этом система учитывает нагрузку на операторов, также учитывает является ли оператор онлайн или нет и многие др. факторы при поиске оператора, которому необходимо назначить диалог. Минимальная версия авто-распределения диалогов подключается одной строкой JavaScript-кода, но при этом код можно расширить любым способом и реализовать свои алгоритмы распределения диалогов, например, реализовать алгоритм создания заявок или передачи заявки в стороннюю CRM-систему.


Возможности контакт-центра


  • Несколько операторов одновременно могут работать в едином контакт-центре.
  • Несколько ботов можно одновременно подключить к одному контакт-центру и отслеживать переписки всех клиентов.
  • Возможность работать с мобильного устройства или ПК, не нужно устанавливать никакие дополнительные приложения. Контакт-центр адаптирован под различные размеры дисплея.
  • Автоматическое распределение диалогов по операторам.
  • Кастомизация функционала контакт-центра с помощью JavaScript, в т.ч. алгоритмов распределения диалогов.
  • Звуковые уведомления: о новых клиентах переведенных на оператора, о новых сообщениях от клиентов ожидающих оператора, а также периодическое звуковое уведомление если оператор пропустил сообщение от клиента и свернул контакт-центр (звуковые уведомления проигрываются только если страница с контакт-центром свернута, это реализовано специально, чтобы не отвлекать оператора звуковыми уведомлениями при активном общении с клиентами).
  • Визуальные информирование о непрочитанных сообщениях от клиентов.
  • Цветовая индикация и группировка клиентов по вкладкам (Ожидающие оператора, Мои диалоги и т.д.).
  • И многое другое...


Как воспользоваться функционалом контакт-центра


Чтобы воспользоваться функционалом контакт-центра, необходимо авторизоваться пользователем с ролью "Оператор". Платформа позволяет сочетать несколько ролей одновременно, например "Оператор" + "Редактор скриптов", но желательно для оператора устанавливать одну роль "Оператор", чтобы скрыть из рабочего пространства оператора лишний функционал, который будет отвлекать от работы с клиентами.

Если у вас нет пользователей с такой ролью вы можете создать его, через раздел Пользователи бизнеса.

Если в вашем текущем тарифе недоступно создание операторов и вы хотите использовать функционал Контакт-центра, то пожалуйста свяжитесь с нами.

Вы можете запросить демонстрацию возможностей платформы, мы поможем сконфигурировать бота и рабочее место для ваших операторов, при необходимости выполним расширение функционала контакт-центра.


Как оператору работать с контакт-центром


1. Запуск контакт-центра

Авторизуйтесь на платформе от имени оператора https://app.metabot24.com/login

Далее перейдите в контакт-центр.

Если у вас роль "Оператор":

изображение.png

Если же у вас роль Оператора скомбинирована с другой ролью, например, с ролью Редактора ботов, то контакт-центр будет расположен в разделе меню "Лиды":

изображение.png

Какой выбран бот в шапке сайта для контакт-центра не имеет значения, контакт-центр работает сразу со всеми ботами бизнеса. Но выбор бота необходим для работы с другими разделами платформы (например с Лидами), поэтому все равно выберите любого бота (если у Вас их несколько), а затем перейдите в Контакт-центр.


2. Онлайн / Офлайн. Статус активности оператора


После авторизации пользователем с ролью Оператор, в верхней части сайта вы увидите переключатель статуса активности вашего пользователя как Оператора.

изображение.png

Он имеет два положения "Онлайн" и "Офлайн".

изображение.png

Если вы находитесь в статусе "Офлайн" автоматическое назначение диалогов на вас будет прекращено.
При авторизации  на сайте статус будет автоматически изменен на "Онлайн".

При выходе из системы (при нажатии на аватар и далее на кнопку Выйти) вам будет предложены варианты выхода с переходом в статус "Онлайн" или "Офлайн".

изображение.png

Первый вариант ответа - означает выполнить выход и остановить автоматическое назначение диалогов на меня.

Второй вариант ответа - означает выполнить выход и не останавливать автоматическое назначение диалогов на меня. 

Отмена - отменить операцию и остаться в системе.

Рекомендуем использовать всегда именно первый вариант — не заставляйте ваших пользователей ждать! Второй допустим, если вы хотите временно покинуть систему и обязательно авторизуетесь в ближайшее время, либо для вашего бизнеса приемлемо не останавливать автоматическое назначение диалогов на вас, даже если вы не в сети.


3. Вкладки (авто-группировка клиентов/лидов по вкладкам)

изображение.png



Каждую вкладку можно рассматривать как автоматическую группировку диалогов с клиентами, этот механизм необходим для удобства работы с диалогами.

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

Ниже приведены все вкладки между которые доступно переключение.


3.1. Вкладка "Ожидают"

Сюда попадают все диалоги, которые ожидают подключения и ответа оператора, например если клиент запросил поддержку оператора и автоматическое распределение диалогов отключено или другой оператор вышел из назначенного ему диалога, но не завершил его. Здесь также будут отражены открытые диалоги, но при этом без оператора и возвращенные боту, например, если клиент запросил поддержку оператора, не дождался его ответа и сам вернул назад бота, такой диалог будет считаться не завершенным (Открытым) и будет ожидать пока кто нибудь из операторов не примет его или не отметит решенным.


3.2. Вкладка "Мои"

Сюда попадают все диалоги, в которых вы подключены как оператор, например, автоматически назначенные на вас диалоги или диалоги, к которым вы сами подключились. Рекомендуется после решения вопросов клиента, отмечать диалог решенным и выходить из него, чтобы диалог не отображался на данной вкладке. Или просто выходить из диалога, если вы не можете решить вопрос, чтобы диалог перешел на вкладку Ожидают и другие операторы увидели диалог и приняли его в работу.


3.3. Вкладка "Открытые"

Сюда попадают все открытые / нерешенные диалоги, в т.ч. диалоги ожидающие подключения оператора, а также диалоги с другими операторами. Аналогично с вкладкой Мои - это не обязательно клиенты переведенные на оператора, открытыми могут быть даже диалоги, которые вернули боту, но не завершили, например, ожидая что клиент пройдет определенную цепочку вопросов-ответов в боте после общения с оператором, или просто, чтобы не терять клиента из виду и отслеживать его переписку. После отслеживания, если убедились, что клиент действует верно при общении с ботом, рекомендуется выйти из диалога.

Ценность данной вкладки в том, что на ней вы можете отследить работу другим операторов и, например, помочь решить определенные вопросы, с которые не могут справиться другие операторы, или если другой оператор принял диалог, но долго на него не отвечает, в дальнейшем механизм авто-распределения будет переработал и диалоги, на которые клиенты долгое время не отвечают будут попадать в общую очередь (на вкладку Ожидают) или автоматически назначаться другому активному оператору.


3.4. Вкладка "Все"

Сюда попадают абсолютно все диалоги всех ботов текущего бизнеса, вкладка используется для поиска определенного диалога. На данной вкладке можно увидеть все закрытые диалоги, т.е. решенные операторами диалоги или диалоги, которые никогда не переводились на Оператора и находятся в общении с ботов.

В дальнейшем на данной вкладке будет доступен функционал с фильтрами для поиска по тексту сообщения или по другим параметрам.


4. Счетчики ожидающих, непрочитанных и общее кол-во диалогов на вкладках

изображение.png

На вкладках Ожидают и Мои отображаются счетчики количества диалогов (не сообщений, а диалогов с клиентами).

Для вкладки Ожидают - счетчик всегда красный.

Для вкладки Мои - счетчик красный, если есть непрочитанные диалоги от клиентов, он отражает количество непрочитанных диалогов. Если все Мои диалоги прочитаны, то счетчик будет серого цвета, такой счетчик отражает общее количество диалогов на вкладке Мои.


5. Список клиентов/лидов (левая панель)


5.1. Список клиентов/лидов

В левой части контакт-центра расположены вкладки, после выбора определенной вкладки вы увидите список диалогов с клиентами относящихся к выбранной вкладке.

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

Каждый диалог обладает своей цветовой индикацией, также диалог обладает определенными "параметрами и состояниями", которые отражаются под именем клиента.

5.2. Цветовая индикация клиентов/лидов

ЦВЕТ 1 - Цвет по умолчанию  - прозрачный

изображение.png

Варианты:
   - любые варианты не подпадающие под цвета [2-4] (включительно)


ЦВЕТ 2 - Красный - требуется реакция на диалог

изображение.png


Варианты:
  - лид ожидает оператора (переведен на оператора и нет оператора в диалоге)
  - открытый диалог возвращенный боту (например, лид сам вернул боту)


ЦВЕТ 3 - Зеленый - мои диалоги

изображение.png

Варианты:
   - любой диалог, в котором я участвую, перекрывает абсолютно все цвета


ЦВЕТ 4 - Оранжевый - диалоги других операторов

изображение.png

Варианты:
  - есть операторы в диалоге (но не Я) + переведен на оператора
  - есть операторы в диалоге (но не Я) + диалог открыт (не важно переведен на оператора или нет, главное что открыт)


5.3. Надписи/заголовки клиентов/лидов


Мои диалоги

Варианты:
  - любые мои диалоги


Открытые диалоги

Варианты:
  - любые открытые диалоги


В диалоге с ботом

(НАДПИСЬ ДЛЯ СОСТОЯНИЯ ЛИДА: ПЕРЕКЛЮЧЕН ИЛИ НЕТ НА БОТА)
СОСТОЯНИЕ ЛИДА: НЕ ПЕРЕКЛЮЧЕН НА ОПЕРАТОРА
Варианты:
  - любые лиды, не переведенные на оператора (is_forwarded === false)


В диалоге с оператором

(НАДПИСЬ ДЛЯ СОСТОЯНИЯ ЛИДА: ПЕРЕКЛЮЧЕН ИЛИ НЕТ НА БОТА)
СОСТОЯНИЕ ЛИДА: ПЕРЕКЛЮЧЕН НА ОПЕРАТОРА
Варианты:
  - любые лиды, переведенные на оператора (is_forwarded === true)


В диалоге с другим оператором

Варианты:
  - есть операторы в диалоге (Я и кто-то другой)
  - есть операторы в диалоге (но не Я)


Ожидает оператора

Варианты:
  - лид ожидает оператора (переведен на оператора и нет оператора в диалоге)
  - открытый диалог возвращенный боту (например, лид сам вернул боту)


Возвращен боту (лидом)

Варианты:
  - диалог открыт + лид/клиент НЕ переведен на оператора


Реакция на бот отключена

Варианты:
  - любые лиды, у которых выключена реакция на бота


6. Сообщения клиента/лида и информация о клиенте (правая панель)

В правой части контакт-центра отображается переписка с клиентом. Вы можете пролистать диалог к самому началу, при этом все сообщения сразу не подгружаются, а только порция последних, при пролистывании вверх подгружается новая порция предыдущих сообщений.

изображение.png


7. Действия с текущим диалогом


Начать общение:

изображение.png


Другие доступные действия с диалогом:

изображение.png

На мобильном устройстве с маленьким экраном некоторые доступные действия будут скрытыми в правой части диалога, при нажатии на кнопку с тремя точками откроется контекстное меню.

изображение.png


7.1. Кнопка "Начать общение"

изображение.png

Для того, чтобы начать общение с клиентом, необходимо сначала подключиться к диалогу, это выполняется с помощью выбора необходимого лида и нажатия на кнопку "Начать общение".

Если в боте имеется системный скрипт "Перевод на оператора", то он будет автоматически запущен, в этом скрипте можно проинформировать клиента о том что оператор подключился к диалогу, также можно вывести информацию о том как клиенту самому вернуть бота, на случай, если оператор бездействует.


7.2. Кнопка "Обновить сообщения"

изображение.png

При нажатии на данную кнопку выполняется полное обновление всех сообщений открытого диалога с клиентом.

Использовать данную кнопку имеет смысл только в крайних случаях, т.к. все новые сообщения открытого диалога итак автоматически подгружаются.


7.3. Кнопка "Выйти из диалога"

изображение.png

Используется в крайних случаях, например если необходимо выйти из диалога, для того чтобы диалог перешел на вкладку Ожидают, если оператор не может решить вопрос, чтобы не менять состояние диалога (не завершать его и не возвращать боту), либо если оператор отслеживал закрытый диалог и желает выйти из него.


7.4. Кнопка "Отметить диалог решенным и вернуть боту"

изображение.png

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

Если в боте имеется системный скрипт "Возврат", то он будет автоматически запущен, в этом скрипте можно проинформировать клиента о том, что  бот вернулся к диалогу и, например, о том как позвать оператора повторно.


7.5. Ввод и отправка сообщений от имени оператора

изображение.png

После того как оператор подключился к диалогу он может отправлять сообщения клиенту. Для этого в поле отмеченное надписью "Введите сообщение" указывается текст отправляемого сообщения, перенос строк выполняется нажатием Enter, а отправка сообщение комбинацией клавиш Ctrl + Enter, или нажатием на кнопку расположенную справа от вводимого сообщения.


7.6 Кнопка "Скрыть/свернуть панель с сообщениями клиента/лида"

изображение.png

Для того чтобы не отслеживать диалог, можно нажать на кнопку Скрыть, приведенную на картинке выше. Скрытие диалога не выполняет никаких действий с диалогом, это нужно лишь для удобства, также отметим, что скрытие диалога уменьшает нагрузку на систему, т.к. останавливается процесс обновления новых сообщений текущего диалога с клиентом.


8. Звуковые уведомления

Звуковые уведомления срабатывают, только для вкладок Ожидают и Мои, и только если вкладка с контакт-центром не активна (например перешли на другую вкладку, или свернули браузер, на мобильном устройстве аналогично).

Есть три различных звуковых уведомления под три разных события:

- новый диалог: при появлении нового диалога на вкладке (т.е. не новый диалог с клиентом, а именно когда диалог появляется на вкладке Ожидают или Мои);

- новое сообщение: когда клиент уже был на вкладке и пришло новое сообщение от него;

- напоминание: периодическое напоминание каждую минуту, если есть непрочитанные сообщения, т.е. сработало уведомление, но оператор не открыл вкладку с контакт-центром на протяжении минуты, чтобы выключить уведомление нужно открыть вкладку(страницу) с контакт-центром (алгоритм работает идентично на ПК и на мобильном устройстве).

Авто-назначение диалогов на оператора. JavaScript алгоритмы. Информация для разработчика ботов


Для работы с контакт-центром доступны новые JavaScript функции:


Доступно ли авто-назначение оператора в данном скрипте
lead.canAutoForward(): bool

Функция необходима для исключения рекурсивного вызова назначения диалога на оператора, а также для исключения выполнения автоназначения диалога на оператора, если оператор сам подключается к диалога из контакт-центра.

Если оператор сам выполняет подключение к диалогу из контакт-центра, то результат функции аналогичен проверке

 return bot.getForwardEventType() !== 'forwarded_by_operator';

Но при этом lead.canAutoForward(): bool гарантирует что назначение заявки на оператора не вызвано рекурсивно.

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

Назначить диалог на следующего оператора, полученного с помощью getNextOperators
lead.assignDialogToNextOperator(
    string|null $departmentCode = null,
    bool $isOnline = true,
    bool $isForwardIfOperatorNotFound = true,
    bool $useLocks = true
): int|null

Варианты откуда может запускаться:
        - оператор сам подключился к КЦ и в сис скрипте есть вызов данной функции - игнорируем ее вызов
        - функцию вызвали в другом скрипте и она также есть в сис скрипте - игнорируем ее вызов только из сис скрипта
        - функцию вызвали в сис скрипте - не игнорируем ее вызов
    
     Если вызываем функцию из системного скрипта перевода на оператора,
     то данная функция не выполняет перевод (тк он уже выполнен на момент запуска функции)
     и также не запускает системный скрипт (тк он уже запущен на момент запуска функции) - для этого есть внутренние механизмы отслеживания, откуда запущена функция, и по сути это исключает рекурсивный запуск функций, для этого и введена новая функция bot / lead.canAutoForward на самом деле выполнять данную проверку canAutoForward смысла нет, тк она выполняется автоматически внутри функций назначения оператора и автоматом отсечет рекурсивный вызов, но где может понадобиться использование canAutoForward - это для написания JavaScript условия - нужно ли отсылать уведомление лиду, о том что скрипт перевед на оператора: пример вызываем назначение на оператора в обычном скрипте, и в этом же скрипте уведомляем о то, что мы перевели на оператора, тогда при запуске системного скрипта Перевод на оператора вывод такого же сообщения нужно исключить. Пример такого условия:

Обычный скрипт:

изображение.png

Вот этот обычный скрипт может содержать, а может не содержать вызов JavaScript функции lead.assignDialogToNextOperator()

Чтобы детальнее понять принцип действия проверки canAutoForward - лучше поэксперементировать с автоназначение оператора в своем боте.


Другой вариант этого же скрипта (не системного)

изображение.png


А это системный скрипт перевода:

изображение.png


    
     Если вызываем функцию из обычного скрипта, то в данной точке сразу будет вызван системный скрипт (если он есть)
     Системный скрипт можно не создавать и обрабатывать все в точке вызова (можно через v8 плагина) или в отдельном обычном скрипте
     Если в системном скрипте и скрипте в котором вызывает данную функцию есть отправка сообщени
     то необходимо вызывать bot.disableBuffer(), чтобы не нарушать последовательность сообщений
     Но лучше отправлять сообщения только в одном из скриптов


Назначить диалог на указанного оператора
lead.assignDialogToOperator(
    int|null $operatorId,
    bool $isForwardIfOperatorNotFound = true,
    bool $useLocks = true
): int|null

     Если вызываем функцию из системного скрипта перевода на оператора,
     то данная функция не выполняет перевод (тк он уже выполнен на момент запуска функции)
     и также не запускает системный скрипт (тк он уже запущен на момент запуска функции)
    
     Если вызываем функцию из обычного скрипта, то в данной точке сразу будет вызван системный скрипт (если он есть)
     Системный скрипт можно не создавать и обрабатывать все в точке вызова (можно через v8 плагина) или в отдельном обычном скрипте
     Если в системном скрипте и скрипте в котором вызывает данную функцию есть отправка сообщени
     то необходимо вызывать bot.disableBuffer(), чтобы не нарушать последовательность сообщений
     Но лучше отправлять сообщения только в одном из скриптов


Получить список следующих операторов,
  

Полученный список будет отсортирован, по:

     - Кол-ву диалогов на операторе
     - Дате последнего назначения/принятия диалога
     - ID оператора

lead.getNextOperators(
    string $departmentCode = null,
    bool $isOnline = true,
    int|null $limit = 1,
    bool $useLocks = true
): int|null

Чтобы получить всех операторов, указываем $limit=null

Получить название события, используется в скрипте перевода на оператора
bot.getForwardEventType(): string|null

Теперь данную функцию можно использовать также и для контакт-центра Metabot, ранее она использовалась только для интеграции с контакт-центром Facebook.

Возвращает строку "forwarded_by_operator" если действие выполнено оператором или null.

Для Facebook аналогично, но в дополнение к  "forwarded_by_operator" может возвращать и другие строки, например "message_from_operator" или "operator_joined_dialog".


Доступно ли авто-назначение оператора в данном скрипте
bot.canAutoForward(): bool

Функция необходима для исключения рекурсивного вызова назначения диалога на оператора, а также для исключения выполнения автоназначения диалога на оператора, если оператор сам подключается к диалога из контакт-центра.

Результат выполнения данной функции аналогичен результату выполнения функции lead.canAutoForward(), функция в bot первична, в лиде функция добавлена для удобства.


Новые функции для работы с блокировками, для реализации уникальных алгоритмов очередей авто-распределения диалогов

Функции блокировки предоставляют функционал схожий с многопоточным программированием, только для многопроцессной архитектуры. Это функции которые могут выполнять атомарные операции, чтобы избежать так называемого Состояние гонки (Race Condition).

Например, функции получения блокировки включают в себя:

- проверку блокировки

- захват блокировки

и эти две операции является атомарными, т.е. выполняются одномоментно, если блокировка не захвачена.

Также, для упрощения алгоритмов функции блокировки могут автоматически повторять попытку захвата блокировки на протяжении указанного, максимального промежутка времени.

ВНИМАНИЕ!!! БУДЬТЕ ОЧЕНЬ АККУРАТНЫ ПРИ ИСПОЛЬЗОВАНИИ ФУНКЦИИ БЛОКИРОВОК, НЕПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ МОЖЕТ НАРУШИТЬ РАБОТОСПОСОБНОСТЬ ВСЕЙ СИСТЕМЫ! В ТАКОМ СЛУЧАЕ ВАШ БОТ БУДЕТ ВНЕСЕН В ЧЕРНЫЙ СПИСОК А ВСЕ ВЕБХУКИ И ЗАДАНИЯ БОТА БУДУТ ИСКЛЮЧАТЬСЯ ИЗ ОЧЕРЕДЕЙ!

ВНИМАНИЕ!!! ЕСЛИ НЕ ЗНАЕТЕ КАК ПОЛЬЗОВАТЬСЯ ФУНКЦИЯМИ БЛОКИРОВОК - НЕ ЭКСПЕРЕМЕНТИРУЙТЕ, ЛУЧШЕ ОБРАТИТЕСЬ К НАШИМ СПЕЦИАЛИСТАМ !


Причем здесь блокировки и контакт-центр?

А не причем, эти функции вам абсолютно не нужны, если вы используете стандартные функции lead.assignDialogToNextOperator, lead.assignDialogToOperator или lead.getNextOperators и т.д., тк данные функции уже включают в себя алгоритмы блокировок, но если вы реализуете свой уникальный механиз распределения диалогов, то эти функции вам необходимы, их никак не обойти, поскольку иначе, если в боте одномременно разные лиды запросят поддержку оператора, то как вы гарантируете чтобы один и тот же первый оператор из списка не был назначен одновременно двум лидам, если функции выполняются одновременно?

Ниже приведен список новых функция для работы с блокировками.

Сгенерировать имя блокировки по бизнесу

bot.getLockNameForBusiness(string $lockName, string $lockPrefix = ''): string

Использование на данный момент смысла не имеет, функции блокировки сами добавляют дополнительные префиксы к именами блокировок указанным в аргументах функций.


Сгенерировать имя блокировки по боту

bot.getLockNameForBot(string $lockName, string $lockPrefix = ''): string

Использование на данный момент смысла не имеет, функции блокировки сами добавляют дополнительные префиксы к именами блокировок указанным в аргументах функций.


Ожидать пока не освободится блокировка и не захватим блокировку по бизнесу

bot.waitForBusinessLock(string $lockName, string $lockPrefix = '', ?int $ttlSec = null, $maxWaitSec = 300): bool


Ожидать пока не освободится блокировка и не захватим блокировку по боту

bot.waitForBotLock(string $lockName, string $lockPrefix = '', ?int $ttlSec = null, $maxWaitSec = 300): bool


Освободить все блокировки созданные в текущем скрипте

bot.releaseAllCurrentLocks(): bool


Принудительно освободить блокировку по бизнесу, только если она не создана в текущем скрипте

bot.releaseCurrentLockForBusiness(string $lockName, string $lockPrefix = ''): bool


Принудительно освободить блокировку по боту, только если она не создана в текущем скрипте

bot.releaseCurrentLockForBot(string $lockName, string $lockPrefix = ''): bool


Принудительно освободить блокировку по бизнесу (даже если она не создавалась в текущем скрипте)

bot.releaseLockForBusiness(string $lockName, string $lockPrefix = ''): bool


Принудительно освободить блокировку по боту (даже если она не создавалась в текущем скрипте)

bot.releaseLockForBot(string $lockName, string $lockPrefix = ''): bool


Проверить наличие блокировки по бизнесу

bot.hasLockForBusiness(string $lockName, string $lockPrefix = '', $checkValue = null): bool


Проверить наличие блокировки по боту

bot.hasLockLockForBot(string $lockName, string $lockPrefix = '', $checkValue = null): bool