diff --git a/adaptor-xmpp.js b/adaptor-xmpp.js
index 5c146fb..ac1ca81 100644
--- a/adaptor-xmpp.js
+++ b/adaptor-xmpp.js
@@ -77,6 +77,25 @@ function onBuddy(jid, state, statusText, resource) {
     }
 }
 
+function isPartnerOffline(partner) {
+    if (!matrix) { return false; }
+
+    if (!matrix.buddies[partner]) { return false; }
+    if (!matrix.buddies[partner].resources) { return false; };
+
+    var resources = matrix.buddies[partner].resources;
+    for (var key in resources) {
+        if (resources.hasOwnProperty(key)) {
+            var resource = resources[key];
+            if (resources[key].state == 'online') {
+                return false;
+            }
+        }
+    }
+    logger.verbose('Offline partner detected: ' + partner);
+    return true;
+}
+
 function init(_username, _password, _logger, _callbacks) {
     username = _username;
     password = _password;
@@ -143,3 +162,4 @@ exports.init = init;
 exports.sendMessage = sendMessage;
 exports.setOptions = setOptions;
 exports.addFriend = addFriend;
+exports.isPartnerOffline = isPartnerOffline;