我正在尝试获取特定 channel 中特定成员的未读消息数。为此,我希望使用 documentation 中定义的 channel.getUnconsumedMessagesCount() .
myChannel.join()
.then(function(c) {
console.log('Joined channel ' + c.sid);
return myChannel.getUnconsumedMessagesCount();
})
.then(m => {
console.log('current count unread: ' + m);
});
未读计数始终返回 0。为了测试,我执行以下操作:
- 用户 2 在另一个 chrome 选项卡中向 myChannel 提交消息
- 用户 2 myChannel 更新了来自 (1) 的消息 .on('messageAdded', [...])
- 刷新用户 1 的 chrome 选项卡,并使用 getUnconsumedMessagesCount 0的值(value)
- 如果我为用户 1 调用 myChannel.getMessages(),我会看到来自用户 2 的消息
最初我调用了 .getUnconsumedMessagesCount() 而没有先执行 join(),我认为这可能是问题所在,但即使加入仍然没有。
最佳答案
在获得未使用的消息计数之前,您需要手动设置上次阅读的消息 ( Send a Consumption Report )
像这样的 (JS)
channel.getMessages(1).then(function (messages) {
var last_message_index = messages.items[0].index;
channel.updateLastConsumedMessageIndex(last_message_index);
});
关于javascript - Twilio 聊天 API,getUnconsumedMessagesCount 始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918632/