Я пытаюсь добавить функцию индикатора достижимости в свой существующий чат twilio. Это чат один на один. Я не хочу показывать, есть ли какой-либо участник в сети, но эта функция необходима для отправки уведомлений по почте. Уведомление будет отправлено только оффлайн-участникам.
Я следовал за их официальным делом c: https://www.twilio.com/docs/chat/reachability-indicator. Внизу страницы есть небольшой фрагмент кода, но это не сработало. updated
Событие не запускается ни на одном конце участника. Я установил для ReachabilityEnabled
значение ИСТИНА в своем сервисе чата.
Я нашел способ добиться этого с помощью setInterval()
, но я считаю, что использование обработчика событий является правильным способом. Можете ли вы показать мне, как добиться этого с помощью обработчика событий, или я где-то ошибаюсь?
Я использую Twilio PHP SDK v6.3.0 & JS SDK v3.3.5
Код ниже будет выполнено, когда я нажму на канал:
// Initialise the Chat client
// Get the current channel by it's unique name
let currentUser = chatClient.user;
// check for reachability change
setInterval(() => {
currentChannel.getMembers().then(members => {
members.forEach(member => {
member.getUser().then(user => {
if (currentUser.state.identity !== user.state.identity) {
if (user.state.online === true) {
$('.contact').attr('is-online', 1);
} else if (user.state.online === false) {
$('.contact').attr('is-online', 0);
}
}
}).catch(error => {
console.error(error);
});
});
}).catch(error => {
console.error(error);
});
}, 500);