func (m *MatterMail) getDirectChannelIDByName(client *model.Client, channelList *model.ChannelList, userName string) string { if m.user.Username == userName { m.eror.Printf("Impossible create a Direct channel, Mattermail user (%v) equals destination user (%v)\n", m.user.Username, userName) return "" } //result, err := client.GetProfilesForDirectMessageList(client.GetTeamId()) result, err := client.SearchUsers(model.UserSearch{ AllowInactive: false, TeamId: client.GetTeamId(), Term: userName, }) if err != nil { m.eror.Println("Error on SearchUsers: ", err.Error()) return "" } profiles := result.Data.([]*model.User) var userID string for _, p := range profiles { if p.Username == userName { userID = p.Id break } } if userID == "" { m.debg.Println("Did not find the username:"******"" } dmName := model.GetDMNameFromIds(m.user.Id, userID) dmID := getChannelIDByName(channelList, dmName) if dmID != "" { return dmID } m.debg.Println("Create direct channel to user:"******"Error on CreateDirectChannel: ", err.Error()) return "" } directChannel := result.Data.(*model.Channel) return directChannel.Id }