All checks were successful
continuous-integration/drone/push Build is passing
72 lines
2.1 KiB
Go
72 lines
2.1 KiB
Go
package api
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// EmbedType is the type of an Embed
|
|
type EmbedType string
|
|
|
|
// Constants for EmbedType
|
|
const (
|
|
EmbedTypeRich EmbedType = "rich"
|
|
EmbedTypeImage EmbedType = "image"
|
|
EmbedTypeVideo EmbedType = "video"
|
|
EmbedTypeGifV EmbedType = "rich"
|
|
EmbedTypeArticle EmbedType = "article"
|
|
EmbedTypeLink EmbedType = "link"
|
|
)
|
|
|
|
// Embed allows you to send embeds to discord
|
|
type Embed struct {
|
|
Title *string `json:"title,omitempty"`
|
|
Type *EmbedType `json:"type,omitempty"`
|
|
Description *string `json:"description,omitempty"`
|
|
URL *string `json:"url,omitempty"`
|
|
Timestamp *time.Time `json:"timestamp,omitempty"`
|
|
Color *int `json:"color,omitempty"`
|
|
Footer *EmbedFooter `json:"footer,omitempty"`
|
|
Image *EmbedResource `json:"image,omitempty"`
|
|
Thumbnail *EmbedResource `json:"thumbnail,omitempty"`
|
|
Video *EmbedResource `json:"video,omitempty"`
|
|
Provider *EmbedProvider `json:"provider,omitempty"`
|
|
Author *EmbedAuthor `json:"author,omitempty"`
|
|
Fields []*EmbedField `json:"fields,omitempty"`
|
|
}
|
|
|
|
// The EmbedResource of an Embed.Image/Embed.Thumbnail/Embed.Video
|
|
type EmbedResource struct {
|
|
URL *string `json:"url,omitempty"`
|
|
ProxyURL *string `json:"proxy_url,omitempty"`
|
|
Height *int `json:"height,omitempty"`
|
|
Width *int `json:"width,omitempty"`
|
|
}
|
|
|
|
// The EmbedProvider of an Embed
|
|
type EmbedProvider struct {
|
|
Name *string `json:"name,omitempty"`
|
|
URL *string `json:"url,omitempty"`
|
|
}
|
|
|
|
// The EmbedAuthor of an Embed
|
|
type EmbedAuthor struct {
|
|
Name *string `json:"name,omitempty"`
|
|
URL *string `json:"url,omitempty"`
|
|
IconURL *string `json:"icon_url,omitempty"`
|
|
ProxyIconURL *string `json:"proxy_icon_url,omitempty"`
|
|
}
|
|
|
|
// The EmbedFooter of an Embed
|
|
type EmbedFooter struct {
|
|
Text string `json:"text"`
|
|
IconURL *string `json:"icon_url,omitempty"`
|
|
ProxyIconURL *string `json:"proxy_icon_url,omitempty"`
|
|
}
|
|
|
|
// EmbedField (s) of an Embed
|
|
type EmbedField struct {
|
|
Name string `json:"name"`
|
|
Value string `json:"value"`
|
|
Inline *bool `json:"inline,omitempty"`
|
|
}
|