Implemented full tgapi method coverage from Telegram docs, aligned numeric ID/file_size types, and fixed method signatures/JSON tags.; Standardized GoDoc across exported APIs with Telegram links and refreshed README sections for MsgContext plus API/Uploader usage.
89 lines
3.3 KiB
Go
89 lines
3.3 KiB
Go
package tgapi
|
|
|
|
// MaskPositionPoint represents the part of the face where a mask should be placed.
|
|
type MaskPositionPoint string
|
|
|
|
const (
|
|
// MaskPositionForehead places the mask on the forehead.
|
|
MaskPositionForehead MaskPositionPoint = "forehead"
|
|
// MaskPositionEyes places the mask on the eyes.
|
|
MaskPositionEyes MaskPositionPoint = "eyes"
|
|
// MaskPositionMouth places the mask on the mouth.
|
|
MaskPositionMouth MaskPositionPoint = "mouth"
|
|
// MaskPositionChin places the mask on the chin.
|
|
MaskPositionChin MaskPositionPoint = "chin"
|
|
)
|
|
|
|
// MaskPosition describes the position on faces where a mask should be placed by default.
|
|
// See https://core.telegram.org/bots/api#maskposition
|
|
type MaskPosition struct {
|
|
Point MaskPositionPoint `json:"point"`
|
|
XShift float32 `json:"x_shift"`
|
|
YShift float32 `json:"y_shift"`
|
|
Scale float32 `json:"scale"`
|
|
}
|
|
|
|
// StickerType represents the type of a sticker.
|
|
type StickerType string
|
|
|
|
const (
|
|
// StickerTypeRegular is a regular sticker.
|
|
StickerTypeRegular StickerType = "regular"
|
|
// StickerTypeMask is a mask sticker that can be placed on faces.
|
|
StickerTypeMask StickerType = "mask"
|
|
// StickerTypeCustomEmoji is a custom emoji sticker.
|
|
StickerTypeCustomEmoji StickerType = "custom_emoji"
|
|
)
|
|
|
|
// Sticker represents a sticker.
|
|
// See https://core.telegram.org/bots/api#sticker
|
|
type Sticker struct {
|
|
FileId string `json:"file_id"`
|
|
FileUniqueId string `json:"file_unique_id"`
|
|
Type StickerType `json:"type"`
|
|
Width int `json:"width"`
|
|
Height int `json:"height"`
|
|
IsAnimated bool `json:"is_animated"`
|
|
IsVideo bool `json:"is_video"`
|
|
|
|
Thumbnail *PhotoSize `json:"thumbnail,omitempty"`
|
|
Emoji *string `json:"emoji,omitempty"`
|
|
SetName *string `json:"set_name,omitempty"`
|
|
MaskPosition *MaskPosition `json:"mask_position,omitempty"`
|
|
CustomEmojiID *string `json:"custom_emoji_id,omitempty"`
|
|
NeedRepainting *bool `json:"need_repainting,omitempty"`
|
|
FileSize *int64 `json:"file_size,omitempty"`
|
|
}
|
|
|
|
// StickerSet represents a sticker set.
|
|
// See https://core.telegram.org/bots/api#stickerset
|
|
type StickerSet struct {
|
|
Name string `json:"name"`
|
|
Title string `json:"title"`
|
|
StickerType StickerType `json:"sticker_type"`
|
|
Stickers []Sticker `json:"stickers"`
|
|
Thumbnail *PhotoSize `json:"thumbnail,omitempty"`
|
|
}
|
|
|
|
// InputStickerFormat represents the format of an input sticker.
|
|
type InputStickerFormat string
|
|
|
|
const (
|
|
// InputStickerFormatStatic is a static sticker (WEBP).
|
|
InputStickerFormatStatic InputStickerFormat = "static"
|
|
// InputStickerFormatAnimated is an animated sticker (TGS).
|
|
InputStickerFormatAnimated InputStickerFormat = "animated"
|
|
// InputStickerFormatVideo is a video sticker (WEBM).
|
|
InputStickerFormatVideo InputStickerFormat = "video"
|
|
)
|
|
|
|
// InputSticker describes a sticker to be added to a sticker set.
|
|
// See https://core.telegram.org/bots/api#inputsticker
|
|
type InputSticker struct {
|
|
Sticker string `json:"sticker"`
|
|
Format InputStickerFormat `json:"format"`
|
|
EmojiList []string `json:"emoji_list"`
|
|
MaskPosition *MaskPosition `json:"mask_position,omitempty"`
|
|
Keywords []string `json:"keywords,omitempty"`
|
|
}
|