Работа с уведомлением о печати сообщений#
Отправка уведомлений о наборе сообщений - полезная функция для эмуляции живого общения в чате. В сервисе GREEN-API предусмотрена ручная и автоматическая настройка отправки уведомлений. Автоматическая настройка устанавливается один раз в настройках инстанса и далее автоматически рассчитывает задержку для каждого исходящего текстового сообщения. Ручные настройки нужно задавать непосредственно для каждого исходящего текстового сообщения.
Внимание
Для работы автоматических уведомлений печати, не указывайте значение для поля typingTime в методе отправки сообщений SendMessage. Так как значение поля typingTime в методе отправки сообщений SendMessage имеет более высокий приоритет.
Отправка сообщений с ручной настройкой уведомления о печати#
-
Отправка уведомления о наборе сообщения сервисным методом SendTyping
Метод используется для передачи в чат уведомления о наборе текста или голоса. Время уведомления в чате ограничено диапазоном от 1 до 20 секунд".
Данный метод не отправляет никаких сообщений в чат. -
Отправка уведомления о наборе сообщения методом отправки сообщений SendMessage
Необходимо заполнить необязательное поле `typingTime, указав числовое значение от 1000 до 20000 миллисекунд. При отправке сообщений можно задать значения для времени набора текста. Время уведомления в чате ограничено диапазоном от 1 до 20 секунд.
Отправка сообщений с автоматическим уведомлением печати на инстансе#
Для работы с уведомлениями печати на инстансе требуется включить настройку autoTyping (по умолчанию настройка выключена).
Включить настройку можно через:
- Личный кабинет — в настройках инстанса, указав значения от 1 до 4. При значении 0 настройка отключается.
-
Метод SetSettings, укажите значение от 1 до 4. При значении 0 настройка отключается:
"autoTyping": 2 -
Методом партнера CreateInstance, при создании инстанса укажите значение от 1 до 4. При значении 0 настройка отключается:
"autoTyping": 2
Как управлять настройкой отправки автоматического уведомления печати#
Вычисление времени отображения уведомления о наборе сообщения перед отправкой зависит от длины текста и значения параметра autoTyping.
Параметр autoTyping управляет имитацией скорости набора сообщения, и может принимать следующие значения:
- 0 - автоматическая имитация набора отключена (уведомление о наборе текста не отправляется)
- 1 - скорость набора сообщения 5 символов в секунду
- 2 - скорость набора сообщения 10 символов в секунду. Рекомендуем использовать это значение
- 3 - скорость набора сообщения 15 символов в секунду
- 4 - скорость набора сообщения 20 символов в секунду
- 5 - скорость набора сообщения 25 символов в секунду. Значения 5 и выше не доступны при настройке из личного кабинета
- 6 - скорость набора сообщения 30 символов в секунду
- 7 - скорость набора сообщения 35 символов в секунду
- 8 - скорость набора сообщения 40 символов в секунду
- 9 - скорость набора сообщения 45 символов в секунду
- 10 - скорость набора сообщения 50 символов в секунду
- Значения больше 10 - скорость набора сообщения будет равна 50 символов в секунду
Время отображения набора текста вычисляется по формуле:
typingTime = (textLength / (autoTyping × 5)) × 1000, где:
autoTyping- Скорость набора сообщенияtextLength- Длина текста от 0 до 4096 символовtypingTime- Время набора текста
Ограничения времени отображения уведомления о наборе текста
Минимальное время отображения статуса набора текста — 500 мс
Максимальное время отображения статуса набора — 20000 мс
Например, если вы отправляете текст из трех символов, то время показа уведомления будет равно 500 мс.
Для больших текстов, если время набора по формуле составит более 20000 мс, то статус всё равно будет отображаться 20000 мс.