1
0
mirror of synced 2024-11-29 16:46:09 +03:00

Merge pull request #44 from EddyTravels/feature/attachment-properties

Add ImageAspectRatio, DefaultAction and Sharable properties
This commit is contained in:
Harrison Shoebridge 2018-11-14 15:30:59 +11:00 committed by GitHub
commit 3dda3ecdde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -18,6 +18,7 @@ import (
type AttachmentType string type AttachmentType string
type MessagingType string type MessagingType string
type TopElementStyle string type TopElementStyle string
type ImageAspectRatio string
const ( const (
// SendMessageURL is API endpoint for sending messages. // SendMessageURL is API endpoint for sending messages.
@ -45,6 +46,11 @@ const (
CompactTopElementStyle TopElementStyle = "compact" CompactTopElementStyle TopElementStyle = "compact"
// TopElementStyle is large. // TopElementStyle is large.
LargeTopElementStyle TopElementStyle = "large" LargeTopElementStyle TopElementStyle = "large"
// ImageAspectRatio is horizontal (1.91:1). Default.
HorizontalImageAspectRatio ImageAspectRatio = "horizontal"
// ImageAspectRatio is square.
SquareImageAspectRatio ImageAspectRatio = "square"
) )
// QueryResponse is the response sent back by Facebook when setting up things // QueryResponse is the response sent back by Facebook when setting up things
@ -351,6 +357,8 @@ type StructuredMessagePayload struct {
TemplateType string `json:"template_type,omitempty"` TemplateType string `json:"template_type,omitempty"`
TopElementStyle TopElementStyle `json:"top_element_style,omitempty"` TopElementStyle TopElementStyle `json:"top_element_style,omitempty"`
Text string `json:"text,omitempty"` Text string `json:"text,omitempty"`
ImageAspectRatio ImageAspectRatio `json:"image_aspect_ratio,omitempty"`
Sharable bool `json:"sharable,omitempty"`
Elements *[]StructuredMessageElement `json:"elements,omitempty"` Elements *[]StructuredMessageElement `json:"elements,omitempty"`
Buttons *[]StructuredMessageButton `json:"buttons,omitempty"` Buttons *[]StructuredMessageButton `json:"buttons,omitempty"`
Url string `json:"url,omitempty"` Url string `json:"url,omitempty"`
@ -362,9 +370,20 @@ type StructuredMessageElement struct {
ImageURL string `json:"image_url"` ImageURL string `json:"image_url"`
ItemURL string `json:"item_url"` ItemURL string `json:"item_url"`
Subtitle string `json:"subtitle"` Subtitle string `json:"subtitle"`
DefaultAction *DefaultAction `json:"default_action,omitempty"`
Buttons []StructuredMessageButton `json:"buttons"` Buttons []StructuredMessageButton `json:"buttons"`
} }
// DefaultAction is a response containing default action properties
type DefaultAction struct {
Type string `json:"type"`
URL string `json:"url,omitempty"`
WebviewHeightRatio string `json:"webview_height_ratio,omitempty"`
MessengerExtensions bool `json:"messenger_extensions,omitempty"`
FallbackURL string `json:"fallback_url,omitempty"`
WebviewShareButton string `json:"webview_share_button,omitempty"`
}
// StructuredMessageButton is a response containing buttons // StructuredMessageButton is a response containing buttons
type StructuredMessageButton struct { type StructuredMessageButton struct {
Type string `json:"type"` Type string `json:"type"`