diff options
author | Wim <wim@42.be> | 2020-04-16 21:48:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-16 21:48:53 +0200 |
commit | 13c90893c7d3b757eb77541c5ec44489fde5661e (patch) | |
tree | ae937c4e2f4021716a5e1412ccb8d9927c52a67c /vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/realtime/messages.go | |
parent | 976fbcd07f61a8d030722a32dfc7ccc9b632399e (diff) | |
download | matterbridge-msglm-13c90893c7d3b757eb77541c5ec44489fde5661e.tar.gz matterbridge-msglm-13c90893c7d3b757eb77541c5ec44489fde5661e.tar.bz2 matterbridge-msglm-13c90893c7d3b757eb77541c5ec44489fde5661e.zip |
Update matterbridge/Rocket.Chat.Go.SDK (#1087)
Diffstat (limited to 'vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/realtime/messages.go')
-rw-r--r-- | vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/realtime/messages.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/realtime/messages.go b/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/realtime/messages.go index 9c0c9bb4..3c3f6fe2 100644 --- a/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/realtime/messages.go +++ b/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/realtime/messages.go @@ -191,6 +191,26 @@ func getMessageFromData(data interface{}) *models.Message { func getMessageFromDocument(arg *gabs.Container) *models.Message { var ts *time.Time + var attachments []models.Attachment + + attachmentSrc, err := arg.Path("attachments").Children() + if err != nil { + attachments = make([]models.Attachment, 0) + } else { + attachments = make([]models.Attachment, len(attachmentSrc)) + for i, attachment := range attachmentSrc { + attachments[i] = models.Attachment{ + Timestamp: stringOrZero(attachment.Path("ts").Data()), + Title: stringOrZero(attachment.Path("title").Data()), + TitleLink: stringOrZero(attachment.Path("title_link").Data()), + TitleLinkDownload: stringOrZero(attachment.Path("title_link_download").Data()), + ImageURL: stringOrZero(attachment.Path("image_url").Data()), + + AuthorName: stringOrZero(arg.Path("u.name").Data()), + } + } + } + date := stringOrZero(arg.Path("ts.$date").Data()) if len(date) > 0 { if ti, err := strconv.ParseFloat(date, 64); err == nil { @@ -202,11 +222,13 @@ func getMessageFromDocument(arg *gabs.Container) *models.Message { ID: stringOrZero(arg.Path("_id").Data()), RoomID: stringOrZero(arg.Path("rid").Data()), Msg: stringOrZero(arg.Path("msg").Data()), + Type: stringOrZero(arg.Path("t").Data()), Timestamp: ts, User: &models.User{ ID: stringOrZero(arg.Path("u._id").Data()), UserName: stringOrZero(arg.Path("u.username").Data()), }, + Attachments: attachments, } } |