Bot API 3.5.
parent
e840fa3b0f
commit
bb07769ea9
53
configs.go
53
configs.go
|
@ -1231,6 +1231,7 @@ type InvoiceConfig struct {
|
||||||
StartParameter string // required
|
StartParameter string // required
|
||||||
Currency string // required
|
Currency string // required
|
||||||
Prices *[]LabeledPrice // required
|
Prices *[]LabeledPrice // required
|
||||||
|
ProviderData string
|
||||||
PhotoURL string
|
PhotoURL string
|
||||||
PhotoSize int
|
PhotoSize int
|
||||||
PhotoWidth int
|
PhotoWidth int
|
||||||
|
@ -1258,6 +1259,9 @@ func (config InvoiceConfig) values() (url.Values, error) {
|
||||||
return v, err
|
return v, err
|
||||||
}
|
}
|
||||||
v.Add("prices", string(data))
|
v.Add("prices", string(data))
|
||||||
|
if config.ProviderData != "" {
|
||||||
|
v.Add("provider_data", config.ProviderData)
|
||||||
|
}
|
||||||
if config.PhotoURL != "" {
|
if config.PhotoURL != "" {
|
||||||
v.Add("photo_url", config.PhotoURL)
|
v.Add("photo_url", config.PhotoURL)
|
||||||
}
|
}
|
||||||
|
@ -1330,6 +1334,7 @@ func (config DeleteMessageConfig) values() (url.Values, error) {
|
||||||
// PinChatMessageConfig contains information of a message in a chat to pin.
|
// PinChatMessageConfig contains information of a message in a chat to pin.
|
||||||
type PinChatMessageConfig struct {
|
type PinChatMessageConfig struct {
|
||||||
ChatID int64
|
ChatID int64
|
||||||
|
ChannelUsername string
|
||||||
MessageID int
|
MessageID int
|
||||||
DisableNotification bool
|
DisableNotification bool
|
||||||
}
|
}
|
||||||
|
@ -1341,7 +1346,11 @@ func (config PinChatMessageConfig) method() string {
|
||||||
func (config PinChatMessageConfig) values() (url.Values, error) {
|
func (config PinChatMessageConfig) values() (url.Values, error) {
|
||||||
v := url.Values{}
|
v := url.Values{}
|
||||||
|
|
||||||
|
if config.ChannelUsername == "" {
|
||||||
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
||||||
|
} else {
|
||||||
|
v.Add("chat_id", config.ChannelUsername)
|
||||||
|
}
|
||||||
v.Add("message_id", strconv.Itoa(config.MessageID))
|
v.Add("message_id", strconv.Itoa(config.MessageID))
|
||||||
v.Add("disable_notification", strconv.FormatBool(config.DisableNotification))
|
v.Add("disable_notification", strconv.FormatBool(config.DisableNotification))
|
||||||
|
|
||||||
|
@ -1351,6 +1360,7 @@ func (config PinChatMessageConfig) values() (url.Values, error) {
|
||||||
// UnpinChatMessageConfig contains information of chat to unpin.
|
// UnpinChatMessageConfig contains information of chat to unpin.
|
||||||
type UnpinChatMessageConfig struct {
|
type UnpinChatMessageConfig struct {
|
||||||
ChatID int64
|
ChatID int64
|
||||||
|
ChannelUsername string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (config UnpinChatMessageConfig) method() string {
|
func (config UnpinChatMessageConfig) method() string {
|
||||||
|
@ -1360,7 +1370,11 @@ func (config UnpinChatMessageConfig) method() string {
|
||||||
func (config UnpinChatMessageConfig) values() (url.Values, error) {
|
func (config UnpinChatMessageConfig) values() (url.Values, error) {
|
||||||
v := url.Values{}
|
v := url.Values{}
|
||||||
|
|
||||||
|
if config.ChannelUsername == "" {
|
||||||
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
||||||
|
} else {
|
||||||
|
v.Add("chat_id", config.ChannelUsername)
|
||||||
|
}
|
||||||
|
|
||||||
return v, nil
|
return v, nil
|
||||||
}
|
}
|
||||||
|
@ -1763,3 +1777,42 @@ func (config DeleteChatStickerSetConfig) values() (url.Values, error) {
|
||||||
|
|
||||||
return v, nil
|
return v, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MediaGroupConfig allows you to send a group of media.
|
||||||
|
//
|
||||||
|
// Media consist of InputMedia items (InputMediaPhoto, InputMediaVideo).
|
||||||
|
type MediaGroupConfig struct {
|
||||||
|
ChatID int64
|
||||||
|
ChannelUsername string
|
||||||
|
|
||||||
|
Media []interface{}
|
||||||
|
DisableNotification bool
|
||||||
|
ReplyToMessageID int
|
||||||
|
}
|
||||||
|
|
||||||
|
func (config MediaGroupConfig) method() string {
|
||||||
|
return "sendMediaGroup"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (config MediaGroupConfig) values() (url.Values, error) {
|
||||||
|
v := url.Values{}
|
||||||
|
|
||||||
|
if config.ChannelUsername == "" {
|
||||||
|
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
||||||
|
} else {
|
||||||
|
v.Add("chat_id", config.ChannelUsername)
|
||||||
|
}
|
||||||
|
bytes, err := json.Marshal(config.Media)
|
||||||
|
if err != nil {
|
||||||
|
return v, err
|
||||||
|
}
|
||||||
|
v.Add("media", string(bytes))
|
||||||
|
if config.DisableNotification {
|
||||||
|
v.Add("disable_notification", strconv.FormatBool(config.DisableNotification))
|
||||||
|
}
|
||||||
|
if config.ReplyToMessageID != 0 {
|
||||||
|
v.Add("reply_to_message_id", strconv.Itoa(config.ReplyToMessageID))
|
||||||
|
}
|
||||||
|
|
||||||
|
return v, nil
|
||||||
|
}
|
||||||
|
|
21
types.go
21
types.go
|
@ -798,3 +798,24 @@ type StickerSet struct {
|
||||||
ContainsMasks bool `json:"contains_masks"`
|
ContainsMasks bool `json:"contains_masks"`
|
||||||
Stickers []Sticker `json:"stickers"`
|
Stickers []Sticker `json:"stickers"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// InputMediaPhoto is a photo to send as part of a media group.
|
||||||
|
//
|
||||||
|
// Telegram recommends to use a file_id instead of uploading.
|
||||||
|
type InputMediaPhoto struct {
|
||||||
|
Type string `json:"type"`
|
||||||
|
Media string `json:"media"`
|
||||||
|
Caption string `json:"caption"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// InputMediaVideo is a video to send as part of a media group.
|
||||||
|
//
|
||||||
|
// Telegram recommends to use a file_id instead of uploading.
|
||||||
|
type InputMediaVideo struct {
|
||||||
|
Type string `json:"type"`
|
||||||
|
Media string `json:"media"`
|
||||||
|
Caption string `json:"caption,omitempty"`
|
||||||
|
Width int `json:"width,omitempty"`
|
||||||
|
Height int `json:"height,omitempty"`
|
||||||
|
Duration int `json:"duration,omitempty"`
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue