Stickers (#1057)
* added in sticker endpoints * added sticker objects to messages * add type to Sticker struct
This commit is contained in:
parent
4620fe3034
commit
aba5dc811d
2 changed files with 54 additions and 0 deletions
|
@ -31,6 +31,7 @@ var (
|
||||||
EndpointGateway = EndpointAPI + "gateway"
|
EndpointGateway = EndpointAPI + "gateway"
|
||||||
EndpointGatewayBot = EndpointGateway + "/bot"
|
EndpointGatewayBot = EndpointGateway + "/bot"
|
||||||
EndpointWebhooks = EndpointAPI + "webhooks/"
|
EndpointWebhooks = EndpointAPI + "webhooks/"
|
||||||
|
EndpointStickers = EndpointAPI + "stickers/"
|
||||||
|
|
||||||
EndpointCDN = "https://cdn.discordapp.com/"
|
EndpointCDN = "https://cdn.discordapp.com/"
|
||||||
EndpointCDNAttachments = EndpointCDN + "attachments/"
|
EndpointCDNAttachments = EndpointCDN + "attachments/"
|
||||||
|
@ -102,6 +103,8 @@ var (
|
||||||
EndpointGuildEmojis = func(gID string) string { return EndpointGuilds + gID + "/emojis" }
|
EndpointGuildEmojis = func(gID string) string { return EndpointGuilds + gID + "/emojis" }
|
||||||
EndpointGuildEmoji = func(gID, eID string) string { return EndpointGuilds + gID + "/emojis/" + eID }
|
EndpointGuildEmoji = func(gID, eID string) string { return EndpointGuilds + gID + "/emojis/" + eID }
|
||||||
EndpointGuildBanner = func(gID, hash string) string { return EndpointCDNBanners + gID + "/" + hash + ".png" }
|
EndpointGuildBanner = func(gID, hash string) string { return EndpointCDNBanners + gID + "/" + hash + ".png" }
|
||||||
|
EndpointGuildStickers = func(gID string) string { return EndpointGuilds + gID + "/stickers" }
|
||||||
|
EndpointGuildSticker = func(gID, sID string) string { return EndpointGuilds + gID + "/stickers/" + sID }
|
||||||
|
|
||||||
EndpointChannel = func(cID string) string { return EndpointChannels + cID }
|
EndpointChannel = func(cID string) string { return EndpointChannels + cID }
|
||||||
EndpointChannelPermissions = func(cID string) string { return EndpointChannels + cID + "/permissions" }
|
EndpointChannelPermissions = func(cID string) string { return EndpointChannels + cID + "/permissions" }
|
||||||
|
@ -119,6 +122,9 @@ var (
|
||||||
|
|
||||||
EndpointGroupIcon = func(cID, hash string) string { return EndpointCDNChannelIcons + cID + "/" + hash + ".png" }
|
EndpointGroupIcon = func(cID, hash string) string { return EndpointCDNChannelIcons + cID + "/" + hash + ".png" }
|
||||||
|
|
||||||
|
EndpointSticker = func(sID string) string { return EndpointStickers + sID }
|
||||||
|
EndpointNitroStickersPacks = EndpointAPI + "/sticker-packs"
|
||||||
|
|
||||||
EndpointChannelWebhooks = func(cID string) string { return EndpointChannel(cID) + "/webhooks" }
|
EndpointChannelWebhooks = func(cID string) string { return EndpointChannel(cID) + "/webhooks" }
|
||||||
EndpointWebhook = func(wID string) string { return EndpointWebhooks + wID }
|
EndpointWebhook = func(wID string) string { return EndpointWebhooks + wID }
|
||||||
EndpointWebhookToken = func(wID, token string) string { return EndpointWebhooks + wID + "/" + token }
|
EndpointWebhookToken = func(wID, token string) string { return EndpointWebhooks + wID + "/" + token }
|
||||||
|
|
48
message.go
48
message.go
|
@ -130,6 +130,9 @@ type Message struct {
|
||||||
// This is a combination of bit masks; the presence of a certain permission can
|
// This is a combination of bit masks; the presence of a certain permission can
|
||||||
// be checked by performing a bitwise AND between this int and the flag.
|
// be checked by performing a bitwise AND between this int and the flag.
|
||||||
Flags MessageFlags `json:"flags"`
|
Flags MessageFlags `json:"flags"`
|
||||||
|
|
||||||
|
// An array of Sticker objects, if any were sent.
|
||||||
|
StickerItems []*Sticker `json:"sticker_items"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnmarshalJSON is a helper function to unmarshal the Message.
|
// UnmarshalJSON is a helper function to unmarshal the Message.
|
||||||
|
@ -189,6 +192,51 @@ type File struct {
|
||||||
Reader io.Reader
|
Reader io.Reader
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// StickerFormat is the file format of the Sticker.
|
||||||
|
type StickerFormat int
|
||||||
|
|
||||||
|
// Defines all known Sticker types.
|
||||||
|
const (
|
||||||
|
StickerFormatTypePNG StickerFormat = 1
|
||||||
|
StickerFormatTypeAPNG StickerFormat = 2
|
||||||
|
StickerFormatTypeLottie StickerFormat = 3
|
||||||
|
)
|
||||||
|
|
||||||
|
// StickerType is the type of sticker.
|
||||||
|
type StickerType int
|
||||||
|
|
||||||
|
// Defines Sticker types.
|
||||||
|
const (
|
||||||
|
StickerTypeStandard StickerType = 1
|
||||||
|
StickerTypeGuild StickerType = 2
|
||||||
|
)
|
||||||
|
|
||||||
|
// Sticker represents a sticker object that can be sent in a Message.
|
||||||
|
type Sticker struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
PackID string `json:"pack_id"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
Description string `json:"description"`
|
||||||
|
Tags string `json:"tags"`
|
||||||
|
Type StickerType `json:"type"`
|
||||||
|
FormatType StickerFormat `json:"format_type"`
|
||||||
|
Available bool `json:"available"`
|
||||||
|
GuildID string `json:"guild_id"`
|
||||||
|
User *User `json:"user"`
|
||||||
|
SortValue int `json:"sort_value"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// StickerPack represents a pack of standard stickers.
|
||||||
|
type StickerPack struct {
|
||||||
|
ID string `json:"id"`
|
||||||
|
Stickers []Sticker `json:"stickers"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
SKUID string `json:"sku_id"`
|
||||||
|
CoverStickerID string `json:"cover_sticker_id"`
|
||||||
|
Description string `json:"description"`
|
||||||
|
BannerAssetID string `json:"banner_asset_id"`
|
||||||
|
}
|
||||||
|
|
||||||
// MessageSend stores all parameters you can send with ChannelMessageSendComplex.
|
// MessageSend stores all parameters you can send with ChannelMessageSendComplex.
|
||||||
type MessageSend struct {
|
type MessageSend struct {
|
||||||
Content string `json:"content,omitempty"`
|
Content string `json:"content,omitempty"`
|
||||||
|
|
Loading…
Reference in a new issue