aboutsummaryrefslogtreecommitdiff
path: root/connector/mattermost/mattermost.go
diff options
context:
space:
mode:
Diffstat (limited to 'connector/mattermost/mattermost.go')
-rw-r--r--connector/mattermost/mattermost.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/connector/mattermost/mattermost.go b/connector/mattermost/mattermost.go
index 4490f2a..ea8377c 100644
--- a/connector/mattermost/mattermost.go
+++ b/connector/mattermost/mattermost.go
@@ -254,8 +254,19 @@ func (mm *Mattermost) Leave(roomId RoomID) {
}
func (mm *Mattermost) SearchForUsers(query string) ([]UserSearchResult, error) {
- // TODO
- return nil, fmt.Errorf("Not implemented")
+ query = strings.ToLower(query)
+ ret := []UserSearchResult{}
+ for _, user := range mm.conn.Users {
+ if strings.Contains(strings.ToLower(user.Username), query) ||
+ strings.Contains(strings.ToLower(user.Nickname), query) ||
+ strings.Contains(strings.ToLower(user.GetDisplayName(model.SHOW_NICKNAME_FULLNAME)), query) {
+ ret = append(ret, UserSearchResult{
+ ID: UserID(fmt.Sprintf("%s@%s", user.Username, mm.server)),
+ DisplayName: user.GetDisplayName(model.SHOW_NICKNAME_FULLNAME),
+ })
+ }
+ }
+ return ret, nil
}
func (mm *Mattermost) Send(event *Event) (string, error) {