diff options
Diffstat (limited to 'src/tg/message.lisp')
| -rw-r--r-- | src/tg/message.lisp | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/src/tg/message.lisp b/src/tg/message.lisp new file mode 100644 index 0000000..18eb5c4 --- /dev/null +++ b/src/tg/message.lisp | |||
| @@ -0,0 +1,172 @@ | |||
| 1 | ;; SPDX-License-Identifier: EUPL-1.2 | ||
| 2 | ;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com> | ||
| 3 | (defpackage :ukkoclot/tg/message | ||
| 4 | (:use | ||
| 5 | :c2cl | ||
| 6 | :ukkoclot/tg/animation | ||
| 7 | :ukkoclot/tg/chat | ||
| 8 | :ukkoclot/tg/macros | ||
| 9 | :ukkoclot/tg/message-entity | ||
| 10 | :ukkoclot/tg/photo-size | ||
| 11 | :ukkoclot/tg/user) | ||
| 12 | (:export | ||
| 13 | #:message-chat-id | ||
| 14 | #:message-thread-id | ||
| 15 | #:message-id | ||
| 16 | |||
| 17 | #:message | ||
| 18 | #:make-message | ||
| 19 | #:message-p | ||
| 20 | #:copy-message | ||
| 21 | #:message-message-id | ||
| 22 | #:message-message-thread-id | ||
| 23 | #:message-from | ||
| 24 | #:message-sender-boost-count | ||
| 25 | #:message-sender-business-bot | ||
| 26 | #:message-date | ||
| 27 | #:message-business-connection-id | ||
| 28 | #:message-chat | ||
| 29 | #:message-is-topic-message | ||
| 30 | #:message-is-automatic-forward | ||
| 31 | #:message-reply-to-message | ||
| 32 | #:message-reply-to-checklist-task-id | ||
| 33 | #:message-via-bot | ||
| 34 | #:message-edit-date | ||
| 35 | #:message-has-protected-content | ||
| 36 | #:message-is-from-offline | ||
| 37 | #:message-is-paid-post | ||
| 38 | #:message-media-group-id | ||
| 39 | #:message-author-signature | ||
| 40 | #:message-paid-star-count | ||
| 41 | #:message-text | ||
| 42 | #:message-entities | ||
| 43 | #:message-effect-id | ||
| 44 | #:message-animation | ||
| 45 | #:message-photo | ||
| 46 | #:message-caption | ||
| 47 | #:message-show-caption-above-media | ||
| 48 | #:message-has-media-spoiler | ||
| 49 | #:message-new-chat-members | ||
| 50 | #:message-new-chat-title | ||
| 51 | #:message-new-chat-photo | ||
| 52 | #:message-delete-chat-photo | ||
| 53 | #:message-group-chat-created | ||
| 54 | #:message-supergroup-chat-created | ||
| 55 | #:message-channel-chat-created | ||
| 56 | #:message-migrate-to-chat-id | ||
| 57 | #:message-migrate-from-chat-id | ||
| 58 | #:message-pinned-message | ||
| 59 | #:message-connected-website)) | ||
| 60 | (in-package :ukkoclot/tg/message) | ||
| 61 | |||
| 62 | ;; If this is a MaybeInaccessibleMessage date will be 0 if this is inaccessible | ||
| 63 | (define-tg-type message | ||
| 64 | (message-id integer) | ||
| 65 | (message-thread-id (or integer null) nil) | ||
| 66 | ;; (direct-messages-topic (or direct-messages-topic null) nil) | ||
| 67 | (from (or user null) nil) | ||
| 68 | ;; (sender-chat (or chat null) nil) | ||
| 69 | (sender-boost-count (or integer null) nil) | ||
| 70 | (sender-business-bot (or user null) nil) | ||
| 71 | (date integer) | ||
| 72 | (business-connection-id (or string null) nil) | ||
| 73 | (chat chat nil) | ||
| 74 | ;; (forward-origin (or message-origin null) nil) | ||
| 75 | (is-topic-message boolean nil) | ||
| 76 | (is-automatic-forward boolean nil) | ||
| 77 | (reply-to-message (or message null) nil) | ||
| 78 | ;; (external-reply (or external-reply-info null) nil) | ||
| 79 | ;; (quote (or text-quote null) nil) | ||
| 80 | ;; (reply-to-story (or story null) nil) | ||
| 81 | (reply-to-checklist-task-id (or integer null) nil) | ||
| 82 | (via-bot (or user null) nil) | ||
| 83 | (edit-date (or integer null) nil) | ||
| 84 | (has-protected-content boolean nil) | ||
| 85 | (is-from-offline boolean nil) | ||
| 86 | (is-paid-post boolean nil) | ||
| 87 | (media-group-id (or string null) nil) | ||
| 88 | (author-signature (or string null) nil) | ||
| 89 | (paid-star-count (or string null) nil) | ||
| 90 | (text (or string null) nil) | ||
| 91 | (entities (or (array message-entity) null) nil) | ||
| 92 | ;; (link-preview-options (or link-preview-options null) nil) | ||
| 93 | ;; (suggested-post-info (or suggested-post-info null) nil) | ||
| 94 | (effect-id (or string null) nil) | ||
| 95 | (animation (or animation null) nil) | ||
| 96 | ;; (audio (or audio null) nil) | ||
| 97 | ;; (document (or document null) nil) | ||
| 98 | ;; (paid-media (or paid-media-info null) nil) | ||
| 99 | (photo (or (array photo-size) null) nil) | ||
| 100 | ;; (sticker (or sticker null) nil) | ||
| 101 | ;; (story (or story null) nil) | ||
| 102 | ;; (video (or video null) nil) | ||
| 103 | ;; (video-note (or video-note null) nil) | ||
| 104 | ;; (voice (or voice null) nil) | ||
| 105 | (caption (or string null) nil) | ||
| 106 | ;; (caption-entities (or (array message-entity) null) nil) | ||
| 107 | (show-caption-above-media boolean nil) | ||
| 108 | (has-media-spoiler boolean nil) | ||
| 109 | ;; (contact (or contact null) nil) | ||
| 110 | ;; (dice (or dice null) nil) | ||
| 111 | ;; (game (or game null) nil) | ||
| 112 | ;; (poll (or poll null) nil) | ||
| 113 | ;; (venue (or venue null) nil) | ||
| 114 | ;; (location (or location null) nil) | ||
| 115 | (new-chat-members (or (array user) null) nil) | ||
| 116 | ;; (left-chat-member (or user null) nil) | ||
| 117 | (new-chat-title (or string null) nil) | ||
| 118 | (new-chat-photo (or (array photo-size) null) nil) | ||
| 119 | (delete-chat-photo boolean nil) | ||
| 120 | (group-chat-created boolean nil) | ||
| 121 | (supergroup-chat-created boolean nil) | ||
| 122 | (channel-chat-created boolean nil) | ||
| 123 | ;; (message-auto-delete-timer-changed (orp message-auto-delete-timer-changed null) nil) | ||
| 124 | (migrate-to-chat-id (or integer null) nil) | ||
| 125 | (migrate-from-chat-id (or integer null) nil) | ||
| 126 | (pinned-message (or message null) nil) | ||
| 127 | ;; (invoice (or invoice null) nil) | ||
| 128 | ;; (successful-payment (or successful-payment null) nil) | ||
| 129 | ;; (refunded-payment (or refunded-payment null) nil) | ||
| 130 | ;; (users-shared (or users-shared null) nil) | ||
| 131 | ;; (chat-shared (or chat-shared null) nil) | ||
| 132 | ;; (gift (or gift-info null) nil) | ||
| 133 | ;; (unique-gift (or unique-gift-info null) nil) | ||
| 134 | (connected-website (or string null) nil) | ||
| 135 | ;; (write-access-allowed (or write-access-allowed null) nil) | ||
| 136 | ;; (passport-data (or passport-data null) nil) | ||
| 137 | ;; (proximity-alert-triggered (or proximity-alert-triggered null) nil) | ||
| 138 | ;; (boost-added (or chat-boost-added null) nil) | ||
| 139 | ;; (chat-background-set (or chat-background null) nil) | ||
| 140 | ;; (checklist-tasks-added (or checklist-tasks-added null) nil) | ||
| 141 | ;; (direct-message-price-changed (or direct-message-price-changed null) nil) | ||
| 142 | ;; (forum-topic-created (or forum-topic-created null) nil) | ||
| 143 | ;; (forum-topic-edited (or forum-topic-edited null) nil) | ||
| 144 | ;; (forum-topic-closed (or forum-topic-closed null) nil) | ||
| 145 | ;; (forum-topic-reopened (or forum-topic-reopened null) nil) | ||
| 146 | ;; (general-forum-topic-hidden (or general-forum-topic-hidden null) nil) | ||
| 147 | ;; (general-forum-topic-unhidden (or general-forum-topic-unhidden null) nil) | ||
| 148 | ;; (giveaway-created (or giveaway-created null) nil) | ||
| 149 | ;; (giveaway-winners (or giveaway-winners null) nil) | ||
| 150 | ;; (giveaway-completed (or giveaway-completed null) nil) | ||
| 151 | ;; (paid-message-price-changed (or paid-message-price-changed null) nil) | ||
| 152 | ;; (suggested-post-approved (or suggested-post-approved null) nil) | ||
| 153 | ;; (suggested-post-approval-failed (or suggested-post-approval-failed null) nil) | ||
| 154 | ;; (suggested-post-declined (or suggested-post-declined null) nil) | ||
| 155 | ;; (suggested-post-paid (or suggested-post-paid null) nil) | ||
| 156 | ;; (suggested-post-refunded (or suggested-post-refunded null) nil) | ||
| 157 | ;; (video-chat-scheduled (or video-chat-scheduled null) nil) | ||
| 158 | ;; (video-chat-started (or video-chat-started null) nil) | ||
| 159 | ;; (video-chat-ended (or video-chat-ended null) nil) | ||
| 160 | ;; (video-chat-participants-invited (or video-chat-participants-invited null) nil) | ||
| 161 | ;; (web-app-data (or web-app-data null) nil) | ||
| 162 | ;; (reply-markup (or inline-keyboard-markup null) nil) | ||
| 163 | ) | ||
| 164 | |||
| 165 | (defun message-id (msg) | ||
| 166 | (message-message-id msg)) | ||
| 167 | |||
| 168 | (defun message-chat-id (msg) | ||
| 169 | (chat-id (message-chat msg))) | ||
| 170 | |||
| 171 | (defun message-thread-id (msg) | ||
| 172 | (message-message-thread-id msg)) | ||