Fixed BaseEdit.values

chat_id and message_id should be sent only if there is no
inline_message_id (and vice versa), according to documentation.
bot-api-6.1
tucher 2016-08-01 20:30:30 +03:00
parent 4f996f7f27
commit a1204e7ea1
1 changed files with 8 additions and 5 deletions

View File

@ -166,13 +166,16 @@ type BaseEdit struct {
func (edit BaseEdit) values() (url.Values, error) {
v := url.Values{}
if edit.ChannelUsername != "" {
v.Add("chat_id", edit.ChannelUsername)
if edit.InlineMessageID == "" {
if edit.ChannelUsername != "" {
v.Add("chat_id", edit.ChannelUsername)
} else {
v.Add("chat_id", strconv.FormatInt(edit.ChatID, 10))
}
v.Add("message_id", strconv.Itoa(edit.MessageID))
} else {
v.Add("chat_id", strconv.FormatInt(edit.ChatID, 10))
v.Add("inline_message_id", edit.InlineMessageID)
}
v.Add("message_id", strconv.Itoa(edit.MessageID))
v.Add("inline_message_id", edit.InlineMessageID)
if edit.ReplyMarkup != nil {
data, err := json.Marshal(edit.ReplyMarkup)