diff --git a/bot_test.go b/bot_test.go index a001dcd..b026978 100644 --- a/bot_test.go +++ b/bot_test.go @@ -12,8 +12,8 @@ import ( ) const ( - TestToken = "153667468:AAHlSHlMqSt1f_uFmVRJbm5gntu2HI4WW8I" - ChatID = 76918703 + TestToken = "378975008:AAHqfRjhWiCGrxI4zJP8O5dpfdxUH3ezhxQ" + ChatID = 41507975 ReplyToMessageID = 35 ExistingPhotoFileID = "AgADAgADw6cxG4zHKAkr42N7RwEN3IFShCoABHQwXEtVks4EH2wBAAEC" ExistingDocumentFileID = "BQADAgADOQADjMcoCcioX1GrDvp3Ag" @@ -422,12 +422,17 @@ func TestSendChatConfig(t *testing.T) { func TestSendEditMessage(t *testing.T) { bot, _ := getBot(t) - msg, err := bot.Send(tgbotapi.NewMessage(ChatID, "Testing editing.")) + testMsg := tgbotapi.NewMessage(ChatID, "Testing editing.") + testBtn := tgbotapi.NewInlineKeyboardButtonData("Test", "testdata") + testMsg.ReplyMarkup = tgbotapi.NewInlineKeyboardMarkup(tgbotapi.NewInlineKeyboardRow(testBtn)) + + msg, err := bot.Send(testMsg) if err != nil { t.Error(err) t.Fail() } + //Keyboard should be removed here! edit := tgbotapi.EditMessageTextConfig{ BaseEdit: tgbotapi.BaseEdit{ ChatID: ChatID, @@ -443,6 +448,27 @@ func TestSendEditMessage(t *testing.T) { } } +func TestSendDeleteMessage(t *testing.T) { + bot, _ := getBot(t) + + msg, err := bot.Send(tgbotapi.NewMessage(ChatID, "Testing deleting.")) + if err != nil { + t.Error(err) + t.Fail() + } + + delete := tgbotapi.DeleteMessageConfig{ + ChatID: ChatID, + MessageID: msg.MessageID, + } + + _, err = bot.Send(delete) + if err != nil { + t.Error(err) + t.Fail() + } +} + func TestGetUserProfilePhotos(t *testing.T) { bot, _ := getBot(t) diff --git a/configs.go b/configs.go index 1e64568..7fd8fd8 100644 --- a/configs.go +++ b/configs.go @@ -815,6 +815,25 @@ func (config EditMessageReplyMarkupConfig) method() string { return "editMessageReplyMarkup" } +// DeleteMessageConfig allows you to delete an existing message (sent by the bot). +type DeleteMessageConfig struct { + ChatID int64 + MessageID int +} + +func (config DeleteMessageConfig) values() (url.Values, error) { + v := url.Values{} + + v.Add("chat_id", strconv.FormatInt(config.ChatID, 10)) + v.Add("message_id", strconv.Itoa(config.MessageID)) + + return v, nil +} + +func (config DeleteMessageConfig) method() string { + return "deleteMessage" +} + // UserProfilePhotosConfig contains information about a // GetUserProfilePhotos request. type UserProfilePhotosConfig struct { diff --git a/debug.test b/debug.test index 5d99a83..5c11e8e 100755 Binary files a/debug.test and b/debug.test differ diff --git a/helpers.go b/helpers.go index 627f656..aacc4d9 100644 --- a/helpers.go +++ b/helpers.go @@ -509,6 +509,14 @@ func NewEditMessageReplyMarkup(chatID int64, messageID int, replyMarkup InlineKe } } +// NewDeleteMessage allows you to delete an existing message (sent previously by the bot) +func NewDeleteMessage(chatID int64, messageID int) DeleteMessageConfig { + return DeleteMessageConfig{ + ChatID: chatID, + MessageID: messageID, + } +} + // NewHideKeyboard hides the keyboard, with the option for being selective // or hiding for everyone. func NewHideKeyboard(selective bool) ReplyKeyboardHide {