summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2019-02-10 17:00:11 +0100
committerWim <wim@42.be>2019-02-15 18:19:34 +0100
commit6ebd5cbbd8a941e0bc5f99f0d8e99cfd1d8ac0d7 (patch)
tree47070e58e7802afd80fce53f0048a87a014a7c0d /vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go
parent2cfd880cdb0df29771bf8f31df8d990ab897889d (diff)
downloadmatterbridge-msglm-6ebd5cbbd8a941e0bc5f99f0d8e99cfd1d8ac0d7.tar.gz
matterbridge-msglm-6ebd5cbbd8a941e0bc5f99f0d8e99cfd1d8ac0d7.tar.bz2
matterbridge-msglm-6ebd5cbbd8a941e0bc5f99f0d8e99cfd1d8ac0d7.zip
Refactor and update RocketChat bridge
* Add support for editing/deleting messages * Add support for uploading files * Add support for avatars * Use the Rocket.Chat.Go.SDK * Use the rest and streaming api
Diffstat (limited to 'vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go')
-rw-r--r--vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go75
1 files changed, 75 insertions, 0 deletions
diff --git a/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go b/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go
new file mode 100644
index 00000000..8be3e3b6
--- /dev/null
+++ b/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go
@@ -0,0 +1,75 @@
+package models
+
+import "time"
+
+type Message struct {
+ ID string `json:"_id"`
+ RoomID string `json:"rid"`
+ Msg string `json:"msg"`
+ EditedBy string `json:"editedBy,omitempty"`
+
+ Groupable bool `json:"groupable,omitempty"`
+
+ EditedAt *time.Time `json:"editedAt,omitempty"`
+ Timestamp *time.Time `json:"ts,omitempty"`
+ UpdatedAt *time.Time `json:"_updatedAt,omitempty"`
+
+ Mentions []User `json:"mentions,omitempty"`
+ User *User `json:"u,omitempty"`
+ PostMessage
+
+ // Bot interface{} `json:"bot"`
+ // CustomFields interface{} `json:"customFields"`
+ // Channels []interface{} `json:"channels"`
+ // SandstormSessionID interface{} `json:"sandstormSessionId"`
+}
+
+// PostMessage Payload for postmessage rest API
+//
+// https://rocket.chat/docs/developer-guides/rest-api/chat/postmessage/
+type PostMessage struct {
+ RoomID string `json:"roomId,omitempty"`
+ Channel string `json:"channel,omitempty"`
+ Text string `json:"text,omitempty"`
+ ParseUrls bool `json:"parseUrls,omitempty"`
+ Alias string `json:"alias,omitempty"`
+ Emoji string `json:"emoji,omitempty"`
+ Avatar string `json:"avatar,omitempty"`
+ Attachments []Attachment `json:"attachments,omitempty"`
+}
+
+// Attachment Payload for postmessage rest API
+//
+// https://rocket.chat/docs/developer-guides/rest-api/chat/postmessage/
+type Attachment struct {
+ Color string `json:"color,omitempty"`
+ Text string `json:"text,omitempty"`
+ Timestamp string `json:"ts,omitempty"`
+ ThumbURL string `json:"thumb_url,omitempty"`
+ MessageLink string `json:"message_link,omitempty"`
+ Collapsed bool `json:"collapsed"`
+
+ AuthorName string `json:"author_name,omitempty"`
+ AuthorLink string `json:"author_link,omitempty"`
+ AuthorIcon string `json:"author_icon,omitempty"`
+
+ Title string `json:"title,omitempty"`
+ TitleLink string `json:"title_link,omitempty"`
+ TitleLinkDownload string `json:"title_link_download,omitempty"`
+
+ ImageURL string `json:"image_url,omitempty"`
+
+ AudioURL string `json:"audio_url,omitempty"`
+ VideoURL string `json:"video_url,omitempty"`
+
+ Fields []AttachmentField `json:"fields,omitempty"`
+}
+
+// AttachmentField Payload for postmessage rest API
+//
+// https://rocket.chat/docs/developer-guides/rest-api/chat/postmessage/
+type AttachmentField struct {
+ Short bool `json:"short"`
+ Title string `json:"title"`
+ Value string `json:"value"`
+}