From 6df6c5d615181e91006ac3ceb72a2e09f29d1bb9 Mon Sep 17 00:00:00 2001
From: Wim <wim@42.be>
Date: Tue, 17 Jan 2017 22:47:59 +0100
Subject: [PATCH] Add GetStatuses()

---
 matterclient/matterclient.go | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go
index b860ec80..93fb7cad 100644
--- a/matterclient/matterclient.go
+++ b/matterclient/matterclient.go
@@ -582,6 +582,27 @@ func (m *MMClient) GetStatus(userId string) string {
 	return "offline"
 }
 
+func (m *MMClient) GetStatuses() map[string]string {
+	var ok bool
+	statuses := make(map[string]string)
+	res, err := m.Client.GetStatuses()
+	if err != nil {
+		return statuses
+	}
+	if statuses, ok = res.Data.(map[string]string); ok {
+		for userId, status := range statuses {
+			statuses[userId] = "offline"
+			if status == model.STATUS_AWAY {
+				statuses[userId] = "away"
+			}
+			if status == model.STATUS_ONLINE {
+				statuses[userId] = "online"
+			}
+		}
+	}
+	return statuses
+}
+
 func (m *MMClient) GetTeamId() string {
 	return m.Team.Id
 }