Commit 63d74f8e014f491df3d9ff8e26c39b7c0bb3561e

Authored by Adhidarma Hadiwinoto
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

... ... @@ -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;