From 542f074a6929ec12b8b42e4cf16ff74523e04602 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Sun, 12 Oct 2025 22:42:41 +0300 Subject: Add message-entity-type enum --- src/main.lisp | 2 +- src/tg-types.lisp | 1 + src/tg-types/message-entity-type.lisp | 47 +++++++++++++++++++++++++++++++++++ src/tg-types/message-entity.lisp | 4 +-- 4 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 src/tg-types/message-entity-type.lisp (limited to 'src') diff --git a/src/main.lisp b/src/main.lisp index 4db0425..f31cd7c 100644 --- a/src/main.lisp +++ b/src/main.lisp @@ -133,7 +133,7 @@ (awhen (message-entities msg) (loop for entity across it - when (and (equal (message-entity-type entity) "bot_command") + when (and (equal (message-entity-type entity) bot-command) (= (message-entity-offset entity) 0)) do (on-text-command bot msg text (message-entity-extract entity text)))) diff --git a/src/tg-types.lisp b/src/tg-types.lisp index 46d68b9..68c5735 100644 --- a/src/tg-types.lisp +++ b/src/tg-types.lisp @@ -19,6 +19,7 @@ :ukkoclot/tg-types/link-preview-options :ukkoclot/tg-types/message :ukkoclot/tg-types/message-entity + :ukkoclot/tg-types/message-entity-type :ukkoclot/tg-types/parse-mode :ukkoclot/tg-types/photo-size :ukkoclot/tg-types/reply-keyboard-markup diff --git a/src/tg-types/message-entity-type.lisp b/src/tg-types/message-entity-type.lisp new file mode 100644 index 0000000..f34c44a --- /dev/null +++ b/src/tg-types/message-entity-type.lisp @@ -0,0 +1,47 @@ +;; SPDX-License-Identifier: EUPL-1.2 +;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs +(defpackage :ukkoclot/tg-types/message-entity-type + (:use :c2cl :ukkoclot/enum) + (:export + :message-entity-type + :mention + :hashtag + :cashtag + :bot-command + :url-entity + :email + :phone-number + :bold + :italic + :underline + :strikethrough + :spoiler + :blockquote + :expandable-blockquote + :code + :pre + :text-link + :text-mention + :custom-emoji)) +(in-package :ukkoclot/tg-types/message-entity-type) + +(define-enum message-entity-type + (mention "mention") + (hashtag "hashtag") + (cashtag "cashtag") + (bot-command "bot_command") + (url-entity "url") + (email "email") + (phone-number "phone_number") + (bold "bold") + (italic "italic") + (underline "underline") + (strikethrough "strikethrough") + (spoiler "spoiler") + (blockquote "blockquote") + (expandable-blockquote "expandable_blockquote") + (code "code") + (pre "pre") + (text-link "text_link") + (text-mention "text_mention") + (custom-emoji "custom_emoji")) diff --git a/src/tg-types/message-entity.lisp b/src/tg-types/message-entity.lisp index a605f23..1eb96cb 100644 --- a/src/tg-types/message-entity.lisp +++ b/src/tg-types/message-entity.lisp @@ -1,7 +1,7 @@ ;; SPDX-License-Identifier: EUPL-1.2 ;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs (defpackage :ukkoclot/tg-types/message-entity - (:use :c2cl :iterate :ukkoclot/tg-types/macros :ukkoclot/tg-types/user) + (:use :c2cl :iterate :ukkoclot/tg-types/macros :ukkoclot/tg-types/message-entity-type :ukkoclot/tg-types/user) (:export #:message-entity #:make-message-entity @@ -19,7 +19,7 @@ (in-package :ukkoclot/tg-types/message-entity) (define-tg-type message-entity - (type string nil) ;TODO: keywords + (type message-entity-type) (offset integer) (length integer) (url (or string null) nil) -- cgit v1.2.3