From fd245cd23ce79af85adc814b91a91902912e6de0 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Sun, 12 Oct 2025 23:55:11 +0300 Subject: Some more TG types --- src/tg-types.lisp | 5 +++++ src/tg-types/message-reaction-updated.lisp | 31 ++++++++++++++++++++++++++++ src/tg-types/reaction-type-custom-emoji.lisp | 20 ++++++++++++++++++ src/tg-types/reaction-type-emoji.lisp | 20 ++++++++++++++++++ src/tg-types/reaction-type-paid.lisp | 18 ++++++++++++++++ src/tg-types/reaction-type.lisp | 14 +++++++++++++ src/tg-types/update.lisp | 6 ++++-- 7 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 src/tg-types/message-reaction-updated.lisp create mode 100644 src/tg-types/reaction-type-custom-emoji.lisp create mode 100644 src/tg-types/reaction-type-emoji.lisp create mode 100644 src/tg-types/reaction-type-paid.lisp create mode 100644 src/tg-types/reaction-type.lisp (limited to 'src') diff --git a/src/tg-types.lisp b/src/tg-types.lisp index 15dd7d6..24d4923 100644 --- a/src/tg-types.lisp +++ b/src/tg-types.lisp @@ -22,8 +22,13 @@ :ukkoclot/tg-types/message :ukkoclot/tg-types/message-entity :ukkoclot/tg-types/message-entity-type + :ukkoclot/tg-types/message-reaction-updated :ukkoclot/tg-types/parse-mode :ukkoclot/tg-types/photo-size + :ukkoclot/tg-types/reaction-type + :ukkoclot/tg-types/reaction-type-custom-emoji + :ukkoclot/tg-types/reaction-type-emoji + :ukkoclot/tg-types/reaction-type-paid :ukkoclot/tg-types/reply-keyboard-markup :ukkoclot/tg-types/reply-keyboard-remove :ukkoclot/tg-types/reply-parameters diff --git a/src/tg-types/message-reaction-updated.lisp b/src/tg-types/message-reaction-updated.lisp new file mode 100644 index 0000000..38d506f --- /dev/null +++ b/src/tg-types/message-reaction-updated.lisp @@ -0,0 +1,31 @@ +;; SPDX-License-Identifier: EUPL-1.2 +;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs +(defpackage :ukkoclot/tg-types/message-reaction-updated + (:use + :c2cl + :ukkoclot/tg-types/chat + :ukkoclot/tg-types/macros + :ukkoclot/tg-types/reaction-type + :ukkoclot/tg-types/user) + (:export + #:message-reaction-updated + #:make-message-reaction-updated + #:message-reaction-updated-p + #:copy-message-reaction-updated + #:message-reaction-updated-chat + #:message-reaction-updated-message-id + #:message-reaction-updated-user + #:message-reaction-updated-actor-chat + #:message-reaction-updated-date + #:message-reaction-updated-old-reaction + #:message-reaction-updated-new-reaction)) +(in-package :ukkoclot/tg-types/message-reaction-updated) + +(define-tg-type message-reaction-updated + (chat chat) + (message-id integer) + (user (or user null) nil) + (actor-chat (or chat null) nil) + (date integer) + (old-reaction (array reaction-type)) + (new-reaction (array reaction-type))) diff --git a/src/tg-types/reaction-type-custom-emoji.lisp b/src/tg-types/reaction-type-custom-emoji.lisp new file mode 100644 index 0000000..353e78f --- /dev/null +++ b/src/tg-types/reaction-type-custom-emoji.lisp @@ -0,0 +1,20 @@ +;; SPDX-License-Identifier: EUPL-1.2 +;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs +(defpackage :ukkoclot/tg-types/reaction-type-custom-emoji + (:use :c2cl :ukkoclot/enum :ukkoclot/tg-types/macros) + (:export + #:custom-emoji-type + #:reaction-type-custom-emoji-type + #:reaction-type-custom-emoji + #:make-reaction-type-custom-emoji + #:reaction-type-custom-emoji-p + #:copy-reaction-type-custom-emoji + #:reaction-type-custom-emoji-custom-emoji-id)) +(in-package :ukkoclot/tg-types/reaction-type-custom-emoji) + +(define-enum reaction-type-custom-emoji-type + (custom-emoji-type "custom_emoji")) + +(define-tg-type reaction-type-custom-emoji + (type reaction-type-custom-emoji-type) + (custom-emoji-id string)) diff --git a/src/tg-types/reaction-type-emoji.lisp b/src/tg-types/reaction-type-emoji.lisp new file mode 100644 index 0000000..c7aeebb --- /dev/null +++ b/src/tg-types/reaction-type-emoji.lisp @@ -0,0 +1,20 @@ +;; SPDX-License-Identifier: EUPL-1.2 +;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs +(defpackage :ukkoclot/tg-types/reaction-type-emoji + (:use :c2cl :ukkoclot/enum :ukkoclot/tg-types/macros) + (:export + #:reaction-type-emoji-type + #:emoji-type + #:reaction-type-emoji + #:make-reaction-type-emoji + #:reaction-type-emoji-p + #:copy-reaction-type-emoji + #:reaction-type-emoji-emoji)) +(in-package :ukkoclot/tg-types/reaction-type-emoji) + +(define-enum reaction-type-emoji-type + (emoji-type "emoji")) + +(define-tg-type reaction-type-emoji + (type reaction-type-emoji-type) + (emoji string)) diff --git a/src/tg-types/reaction-type-paid.lisp b/src/tg-types/reaction-type-paid.lisp new file mode 100644 index 0000000..260ddf7 --- /dev/null +++ b/src/tg-types/reaction-type-paid.lisp @@ -0,0 +1,18 @@ +;; SPDX-License-Identifier: EUPL-1.2 +;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs +(defpackage :ukkoclot/tg-types/reaction-type-paid + (:use :c2cl :ukkoclot/enum :ukkoclot/tg-types/macros) + (:export + #:reaction-type-paid-type + #:paid-type + #:reaction-type-paid + #:make-reaction-type-paid + #:reaction-type-paid-p + #:copy-reaction-type-paid)) +(in-package :ukkoclot/tg-types/reaction-type-paid) + +(define-enum reaction-type-paid-type + (paid-type "paid")) + +(define-tg-type reaction-type-paid + (type reaction-type-paid-type)) diff --git a/src/tg-types/reaction-type.lisp b/src/tg-types/reaction-type.lisp new file mode 100644 index 0000000..4eb0d0b --- /dev/null +++ b/src/tg-types/reaction-type.lisp @@ -0,0 +1,14 @@ +;; SPDX-License-Identifier: EUPL-1.2 +;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs +(defpackage :ukkoclot/tg-types/reaction-type + (:use + :c2cl + :ukkoclot/tg-types/macros + :ukkoclot/tg-types/reaction-type-custom-emoji + :ukkoclot/tg-types/reaction-type-emoji + :ukkoclot/tg-types/reaction-type-paid) + (:export :reaction-type)) +(in-package :ukkoclot/tg-types/reaction-type) + +(deftype reaction-type () + '(or reaction-type-emoji reaction-type-custom-emoji reaction-type-paid)) diff --git a/src/tg-types/update.lisp b/src/tg-types/update.lisp index bc08984..be4cb32 100644 --- a/src/tg-types/update.lisp +++ b/src/tg-types/update.lisp @@ -6,7 +6,8 @@ :ukkoclot/tg-types/macros :ukkoclot/tg-types/business-connection :ukkoclot/tg-types/callback-query - :ukkoclot/tg-types/message) + :ukkoclot/tg-types/message + :ukkoclot/tg-types/message-reaction-updated) (:export #:update #:make-update @@ -20,6 +21,7 @@ #:update-business-connection #:update-business-message #:update-edited-business-message + #:update-message-reaction #:update-callback-query)) (in-package :ukkoclot/tg-types/update) @@ -33,7 +35,7 @@ (business-message (or message null) nil) (edited-business-message (or message null) nil) ;; (deleted-business-messages (or business-messages-deleted null) nil) - ;; (message-reaction (or message-reaction-updated null) nil) + (message-reaction (or message-reaction-updated null) nil) ;; (message-reaction-count (or message-reaction-count-updated null) nil) ;; (inline-query (or inline-query null) nil) ;; (chosen-inline-result (or chosen-inline-result null) nil) -- cgit v1.2.3