Commit e756cfc78dedfc6e4d3a8b11b625384353e5d1a6
1 parent
3eb833e8a5
Exists in
master
log when offline partner detected
Showing 1 changed file with 20 additions and 0 deletions Side-by-side Diff
adaptor-xmpp.js
... | ... | @@ -77,6 +77,25 @@ function onBuddy(jid, state, statusText, resource) { |
77 | 77 | } |
78 | 78 | } |
79 | 79 | |
80 | +function isPartnerOffline(partner) { | |
81 | + if (!matrix) { return false; } | |
82 | + | |
83 | + if (!matrix.buddies[partner]) { return false; } | |
84 | + if (!matrix.buddies[partner].resources) { return false; }; | |
85 | + | |
86 | + var resources = matrix.buddies[partner].resources; | |
87 | + for (var key in resources) { | |
88 | + if (resources.hasOwnProperty(key)) { | |
89 | + var resource = resources[key]; | |
90 | + if (resources[key].state == 'online') { | |
91 | + return false; | |
92 | + } | |
93 | + } | |
94 | + } | |
95 | + logger.verbose('Offline partner detected: ' + partner); | |
96 | + return true; | |
97 | +} | |
98 | + | |
80 | 99 | function init(_username, _password, _logger, _callbacks) { |
81 | 100 | username = _username; |
82 | 101 | password = _password; |
... | ... | @@ -143,3 +162,4 @@ exports.init = init; |
143 | 162 | exports.sendMessage = sendMessage; |
144 | 163 | exports.setOptions = setOptions; |
145 | 164 | exports.addFriend = addFriend; |
165 | +exports.isPartnerOffline = isPartnerOffline; |