@@ -20,6 +20,8 @@ module Web.Telegram.API.Bot.API.Messages
2020 , uploadDocumentM
2121 , sendDocument
2222 , sendDocumentM
23+ , deleteMessage
24+ , deleteMessageM
2325 , uploadSticker
2426 , uploadStickerM
2527 , sendSticker
@@ -90,6 +92,9 @@ type TelegramBotMessagesAPI =
9092 :<|> TelegramToken :> " sendDocument"
9193 :> ReqBody '[JSON ] (SendDocumentRequest Text )
9294 :> Post '[JSON ] MessageResponse
95+ :<|> TelegramToken :> " deleteMessage"
96+ :> ReqBody '[JSON ] DeleteMessageRequest
97+ :> Post '[JSON ] Bool
9398 :<|> TelegramToken :> " sendSticker"
9499 :> MultipartFormDataReqBody (SendStickerRequest FileUpload )
95100 :> Post '[JSON ] MessageResponse
@@ -145,6 +150,7 @@ uploadAudio_ :: Token -> SendAudioRequest FileUpload -> ClientM Me
145150sendAudio_ :: Token -> SendAudioRequest Text -> ClientM MessageResponse
146151uploadDocument_ :: Token -> SendDocumentRequest FileUpload -> ClientM MessageResponse
147152sendDocument_ :: Token -> SendDocumentRequest Text -> ClientM MessageResponse
153+ deleteMessage_ :: Token -> DeleteMessageRequest -> ClientM Bool
148154uploadSticker_ :: Token -> SendStickerRequest FileUpload -> ClientM MessageResponse
149155sendSticker_ :: Token -> SendStickerRequest Text -> ClientM MessageResponse
150156uploadVideo_ :: Token -> SendVideoRequest FileUpload -> ClientM MessageResponse
@@ -167,6 +173,7 @@ sendMessage_
167173 :<|> sendAudio_
168174 :<|> uploadDocument_
169175 :<|> sendDocument_
176+ :<|> deleteMessage_
170177 :<|> uploadSticker_
171178 :<|> sendSticker_
172179 :<|> uploadVideo_
@@ -251,6 +258,22 @@ sendDocument = runM sendDocumentM
251258sendDocumentM :: SendDocumentRequest Text -> TelegramClient MessageResponse
252259sendDocumentM = run_ sendDocument_
253260
261+ -- | Use this method to delete a message, including service messages, with the following limitations:
262+ -- - A message can only be deleted if it was sent less than 48 hours ago.
263+ -- - A dice message in a private chat can only be deleted if it was sent more than 24 hours ago.
264+ -- - Bots can delete outgoing messages in private chats, groups, and supergroups.
265+ -- - Bots can delete incoming messages in private chats.
266+ -- - Bots granted can_post_messages permissions can delete outgoing messages in channels.
267+ -- - If the bot is an administrator of a group, it can delete any message there.
268+ -- - If the bot has can_delete_messages permission in a supergroup or a channel, it can delete any message there.
269+ -- Returns True on success.
270+ deleteMessage :: Token -> DeleteMessageRequest -> Manager -> IO (Either ClientError Bool )
271+ deleteMessage = runM deleteMessageM
272+
273+ -- | See 'deleteMessage'
274+ deleteMessageM :: DeleteMessageRequest -> TelegramClient Bool
275+ deleteMessageM = run_ deleteMessage_
276+
254277-- | Use this method to upload and send .webp stickers. On success, the sent 'Message' is returned.
255278uploadSticker :: Token -> SendStickerRequest FileUpload -> Manager -> IO (Either ClientError MessageResponse )
256279uploadSticker = runM uploadStickerM
0 commit comments