Implement Bot API 6.2 changes.
parent
4126fa6112
commit
f7e326b02e
24
configs.go
24
configs.go
|
@ -2004,6 +2004,24 @@ func (config GetStickerSetConfig) params() (Params, error) {
|
|||
return params, nil
|
||||
}
|
||||
|
||||
// GetCustomEmojiStickersConfig get information about
|
||||
// custom emoji stickers by their identifiers.
|
||||
type GetCustomEmojiStickersConfig struct {
|
||||
CustomEmojiIDs []string
|
||||
}
|
||||
|
||||
func (config GetCustomEmojiStickersConfig) params() (Params, error) {
|
||||
params := make(Params)
|
||||
|
||||
params.AddInterface("custom_emoji_ids", config.CustomEmojiIDs)
|
||||
|
||||
return params, nil
|
||||
}
|
||||
|
||||
func (config GetCustomEmojiStickersConfig) method() string {
|
||||
return "getCustomEmojiStickers"
|
||||
}
|
||||
|
||||
// UploadStickerConfig allows you to upload a sticker for use in a set later.
|
||||
type UploadStickerConfig struct {
|
||||
UserID int64
|
||||
|
@ -2038,8 +2056,9 @@ type NewStickerSetConfig struct {
|
|||
Title string
|
||||
PNGSticker RequestFileData
|
||||
TGSSticker RequestFileData
|
||||
StickerType string
|
||||
Emojis string
|
||||
ContainsMasks bool
|
||||
ContainsMasks bool // deprecated
|
||||
MaskPosition *MaskPosition
|
||||
}
|
||||
|
||||
|
@ -2053,11 +2072,10 @@ func (config NewStickerSetConfig) params() (Params, error) {
|
|||
params.AddNonZero64("user_id", config.UserID)
|
||||
params["name"] = config.Name
|
||||
params["title"] = config.Title
|
||||
|
||||
params["emojis"] = config.Emojis
|
||||
|
||||
params.AddBool("contains_masks", config.ContainsMasks)
|
||||
|
||||
params.AddNonEmpty("sticker_type", string(config.StickerType))
|
||||
err := params.AddInterface("mask_position", config.MaskPosition)
|
||||
|
||||
return params, err
|
||||
|
|
54
types.go
54
types.go
|
@ -274,6 +274,12 @@ type Chat struct {
|
|||
//
|
||||
// optional
|
||||
HasPrivateForwards bool `json:"has_private_forwards,omitempty"`
|
||||
// HasRestrictedVoiceAndVideoMessages if the privacy settings of the other party
|
||||
// restrict sending voice and video note messages
|
||||
// in the private chat. Returned only in getChat.
|
||||
//
|
||||
// optional
|
||||
HasRestrictedVoiceAndVideoMessages bool `json:"has_restricted_voice_and_video_messages,omitempty"`
|
||||
// Description for groups, supergroups and channel chats
|
||||
//
|
||||
// optional
|
||||
|
@ -730,6 +736,7 @@ type MessageEntity struct {
|
|||
// “pre” (monowidth block),
|
||||
// “text_link” (for clickable text URLs),
|
||||
// “text_mention” (for users without usernames)
|
||||
// “text_mention” (for inline custom emoji stickers)
|
||||
Type string `json:"type"`
|
||||
// Offset in UTF-16 code units to the start of the entity
|
||||
Offset int `json:"offset"`
|
||||
|
@ -747,6 +754,10 @@ type MessageEntity struct {
|
|||
//
|
||||
// optional
|
||||
Language string `json:"language,omitempty"`
|
||||
// CustomEmojiID for “custom_emoji” only, unique identifier of the custom emoji
|
||||
//
|
||||
// optional
|
||||
CustomEmojiID string `json:"custom_emoji_id"`
|
||||
}
|
||||
|
||||
// ParseURL attempts to parse a URL contained within a MessageEntity.
|
||||
|
@ -1984,6 +1995,13 @@ type InputMediaDocument struct {
|
|||
DisableContentTypeDetection bool `json:"disable_content_type_detection,omitempty"`
|
||||
}
|
||||
|
||||
// Constant values for sticker types
|
||||
const (
|
||||
StickerTypeRegular = "regular"
|
||||
StickerTypeMask = "mask"
|
||||
StickerTypeCustomEmoji = "custom_emoji"
|
||||
)
|
||||
|
||||
// Sticker represents a sticker.
|
||||
type Sticker struct {
|
||||
// FileID is an identifier for this file, which can be used to download or
|
||||
|
@ -1993,6 +2011,10 @@ type Sticker struct {
|
|||
// which is supposed to be the same over time and for different bots.
|
||||
// Can't be used to download or reuse the file.
|
||||
FileUniqueID string `json:"file_unique_id"`
|
||||
// Type is a type of the sticker, currently one of “regular”,
|
||||
// “mask”, “custom_emoji”. The type of the sticker is independent
|
||||
// from its format, which is determined by the fields is_animated and is_video.
|
||||
Type string `json:"type"`
|
||||
// Width sticker width
|
||||
Width int `json:"width"`
|
||||
// Height sticker height
|
||||
|
@ -2036,6 +2058,21 @@ type Sticker struct {
|
|||
FileSize int `json:"file_size,omitempty"`
|
||||
}
|
||||
|
||||
// IsRegular returns if the Sticker is regular
|
||||
func (s Sticker) IsRegular() bool {
|
||||
return s.Type == StickerTypeRegular
|
||||
}
|
||||
|
||||
// IsMask returns if the Sticker is mask
|
||||
func (s Sticker) IsMask() bool {
|
||||
return s.Type == StickerTypeMask
|
||||
}
|
||||
|
||||
// IsCustomEmoji returns if the Sticker is custom emoji
|
||||
func (s Sticker) IsCustomEmoji() bool {
|
||||
return s.Type == StickerTypeCustomEmoji
|
||||
}
|
||||
|
||||
// StickerSet represents a sticker set.
|
||||
type StickerSet struct {
|
||||
// Name sticker set name
|
||||
|
@ -2049,6 +2086,8 @@ type StickerSet struct {
|
|||
// IsVideo true, if the sticker set contains video stickers
|
||||
IsVideo bool `json:"is_video"`
|
||||
// ContainsMasks true, if the sticker set contains masks
|
||||
//
|
||||
// deprecated. Use sticker_type instead
|
||||
ContainsMasks bool `json:"contains_masks"`
|
||||
// Stickers list of all set stickers
|
||||
Stickers []Sticker `json:"stickers"`
|
||||
|
@ -2056,6 +2095,21 @@ type StickerSet struct {
|
|||
Thumbnail *PhotoSize `json:"thumb"`
|
||||
}
|
||||
|
||||
// IsRegular returns if the StickerSet is regular
|
||||
func (s StickerSet) IsRegular() bool {
|
||||
return s.StickerType == StickerTypeRegular
|
||||
}
|
||||
|
||||
// IsMask returns if the StickerSet is mask
|
||||
func (s StickerSet) IsMask() bool {
|
||||
return s.StickerType == StickerTypeMask
|
||||
}
|
||||
|
||||
// IsCustomEmoji returns if the StickerSet is custom emoji
|
||||
func (s StickerSet) IsCustomEmoji() bool {
|
||||
return s.StickerType == StickerTypeCustomEmoji
|
||||
}
|
||||
|
||||
// MaskPosition describes the position on faces where a mask should be placed
|
||||
// by default.
|
||||
type MaskPosition struct {
|
||||
|
|
Loading…
Reference in New Issue