diff --git a/edit_message_caption.go b/edit_message_caption.go new file mode 100644 index 0000000..92f7ed7 --- /dev/null +++ b/edit_message_caption.go @@ -0,0 +1,43 @@ +package telegram + +import json "github.com/pquerna/ffjson/ffjson" + +type EditMessageCaptionParameters struct { + // Required if inline_message_id is not specified. Unique identifier for the + // target chat or username of the target channel (in the format + // @channelusername) + ChatID int64 `json:"chat_id,omitempty"` + + // Required if inline_message_id is not specified. Identifier of + // the sent message + MessageID int `json:"message_id,omitempty"` + + // Required if chat_id and message_id are not specified. Identifier of the + // inline message + InlineMessageID string `json:"inline_message_id,omitempty"` + + // New caption of the message + Caption string `json:"caption,omitempty"` + + // A JSON-serialized object for an inline keyboard. + ReplyMarkup *InlineKeyboardMarkup `json:"reply_markup,omitempty"` +} + +// EditMessageCaption edit captions of messages sent by the bot or via the bot +// (for inline bots). On success, if edited message is sent by the bot, the +// edited Message is returned, otherwise True is returned. +func (bot *Bot) EditMessageCaption(params *EditMessageCaptionParameters) (*Message, error) { + dst, err := json.Marshal(*params) + if err != nil { + return nil, err + } + + resp, err := bot.request(dst, "editMessageCaption", nil) + if err != nil { + return nil, err + } + + var data Message + err = json.Unmarshal(*resp.Result, &data) + return &data, err +}