Twilio REST API V2 - Как узнать количество непрочитанных сообщений для пользователя? - PullRequest
0 голосов
/ 26 ноября 2018

Я нашел много ссылок, касающихся количества непрочитанных сообщений, но большинство из них указывают на старый код выпуска.Из Current REST API v2 нашел этот код.

            .twilioClient
            .chat
            .services((process.env.TWILIO_CHAT_SERVICE_SID || config.TWILIO_CHAT_SERVICE_SID))
            .users(req.params.userSID)
            .userChannels
            .list({}, (error, result) => {

                for (var item in result) {
                    let count = item.unread_messages_count == null ? 0 : item.unread_messages_count;
                    totalUnreadMessages += count;
                }

Но код всегда показывает unread_messages_count как ноль, и я искал о ** горизонте потребления ** отсюда.https://www.twilio.com/docs/chat/consumption-horizon

Но не знаете, как настроить горизонт потребления или что-то еще, чтобы это работало через API.

1 Ответ

0 голосов
/ 02 декабря 2018

Twanio Developer Evangelist здесь.

Как Документация говорит:

Примечание : чат не устанавливает горизонт потребления автоматически,Если вы явно не установите это в своем приложении, горизонт потребления не будет существовать для пользователя на канале.Без горизонта потребления горизонт потребления вашего пользователя (read status) не будет правильно синхронизироваться между клиентами.Если для пользователя не настроен горизонт потребления на канале, получение неиспользованных сообщений всегда будет возвращать 0.Если у члена Канала нет статуса потребления, его последний использованный индекс и метка времени будут null или 0 в зависимости от платформы.

Итак, для того, чтобы было потреблениегоризонт, вам нужно установить его через SDK.В JavaScript это выглядит примерно так:

activeChannel.updateLastConsumedMessageIndex(someMessageIndex)
  .then(function () {
    // consumption horizon updated
  });

, где activeChannel - объект канала, к которому ваш пользователь присоединился , а someMessageIndex - индекс сообщения, которое ваш пользовательПоследнее чтение.

Горизонт потребления для канала должен быть установлен через SDK, чтобы он отображался в REST API.

...