Skip to content

Commit

Permalink
Add get guild stickers support (#1095)
Browse files Browse the repository at this point in the history
* Add get guild stickers support

* fix: change the type of Stickers of StickerPack to array pointer
  • Loading branch information
SmoothieNoIce committed Feb 18, 2022
1 parent 992358e commit b7ce746
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 45 deletions.
45 changes: 0 additions & 45 deletions message.go
Expand Up @@ -217,51 +217,6 @@ type File struct {
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.
type MessageSend struct {
Content string `json:"content,omitempty"`
Expand Down
48 changes: 48 additions & 0 deletions structs.go
Expand Up @@ -461,6 +461,51 @@ func (e *Emoji) APIName() string {
return e.ID
}

// 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"`
}

// VerificationLevel type definition
type VerificationLevel int

Expand Down Expand Up @@ -564,6 +609,9 @@ type Guild struct {
// A list of the custom emojis present in the guild.
Emojis []*Emoji `json:"emojis"`

// A list of the custom stickers present in the guild.
Stickers []*Sticker `json:"stickers"`

// A list of the members in the guild.
// This field is only present in GUILD_CREATE events and websocket
// update events, and thus is only present in state-cached guilds.
Expand Down

0 comments on commit b7ce746

Please sign in to comment.