Commit 63d74f8e014f491df3d9ff8e26c39b7c0bb3561e
1 parent
ad53929ef6
Exists in
master
add friend if not friend
Showing 1 changed file with 15 additions and 2 deletions Side-by-side Diff
adaptor-xmpp.js
... | ... | @@ -61,7 +61,7 @@ function onUnsubscribe(sender) { |
61 | 61 | |
62 | 62 | function onBuddy(jid, state, statusText, resource) { |
63 | 63 | if (jid == 'undefined') {return; } |
64 | - | |
64 | + | |
65 | 65 | logger.verbose('Buddy state change', {jid: jid, state: state, statusText: statusText, resource: resource}); |
66 | 66 | |
67 | 67 | if (!matrix) { |
... | ... | @@ -86,6 +86,10 @@ function onBuddy(jid, state, statusText, resource) { |
86 | 86 | function isPartnerOffline(partner) { |
87 | 87 | if (!matrix) { return false; } |
88 | 88 | |
89 | + if (!isAFriend(partner)) { | |
90 | + addFriend(partner); | |
91 | + } | |
92 | + | |
89 | 93 | if (!matrix.buddies[partner]) { return false; } |
90 | 94 | if (!matrix.buddies[partner].resources) { return false; }; |
91 | 95 | |
... | ... | @@ -164,7 +168,15 @@ function sendMessage(destination, msg) { |
164 | 168 | } |
165 | 169 | |
166 | 170 | function addFriend(friend) { |
167 | - xmpp.subscribe(friend); | |
171 | + xmpp.subscribe(friend); | |
172 | +} | |
173 | + | |
174 | +function isAFriend(jid) { | |
175 | + if (!matrix) { return false; }; | |
176 | + if (!matrix.buddies) { return false; } | |
177 | + if (!matrix.buddies[jid]) { return false; } | |
178 | + | |
179 | + return true; | |
168 | 180 | } |
169 | 181 | |
170 | 182 | exports.init = init; |
... | ... | @@ -172,3 +184,4 @@ exports.sendMessage = sendMessage; |
172 | 184 | exports.setOptions = setOptions; |
173 | 185 | exports.addFriend = addFriend; |
174 | 186 | exports.isPartnerOffline = isPartnerOffline; |
187 | +exports.isAFriend = isAFriend; |