summaryrefslogtreecommitdiff
path: root/src/tg/delete-message.lisp
blob: 2b332df8c1abf4a33e3bfd32e40ef7bb5aa6ba8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
;; SPDX-License-Identifier: EUPL-1.2
;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
(defpackage :ukkoclot/src/tg/delete-message
  (:documentation "deleteMessage Telegram method")
  (:use :c2cl :ukkoclot/src/tg/message :ukkoclot/src/tg/method-macros :ukkoclot/src/tg/send-animation)
  (:export :delete-message :try-delete-message))
(in-package :ukkoclot/src/tg/delete-message)

(define-tg-method (delete-message boolean)
  (chat-id (or integer string))
  (message-id integer))

(defun try-delete-message (msg)
  "Attempt to delete the MSG, on failure reply with a GIF of the DO NOT cat."
  (handler-case
      (delete-message :chat-id (message-chat-id msg)
                      :message-id (message-id msg))
    (error ()
      (handler-case
          (reply-animation msg #P"blob/do-not.mp4"
                           :allow-sending-without-reply nil)
        (error () nil)))))