From 4da3ad1f569832845b58c3ce35149633a2bb665c Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Thu, 9 Oct 2025 21:58:43 +0300 Subject: Initial commit --- src/tg-types/inline-keyboard-button.lisp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/tg-types/inline-keyboard-button.lisp (limited to 'src/tg-types/inline-keyboard-button.lisp') diff --git a/src/tg-types/inline-keyboard-button.lisp b/src/tg-types/inline-keyboard-button.lisp new file mode 100644 index 0000000..3b76ade --- /dev/null +++ b/src/tg-types/inline-keyboard-button.lisp @@ -0,0 +1,32 @@ +;; SPDX-License-Identifier: EUPL-1.2 +;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs +(defpackage :ukkoclot/tg-types/inline-keyboard-button + (:use :c2cl :ukkoclot/tg-types/macros) + (:export + inline-keyboard-button + make-inline-keyboard-button + inline-keyboard-button-p + copy-inline-keyboard-button + inline-keyboard-button-text + inline-keyboard-button-url + inline-keyboard-button-callback-data + inline-keyboard-button-switch-inline-query + inline-keyboard-button-switch-inline-query-current-chat + inline-keyboard-button-pay + + hash->inline-keyboard-button + parse-inline-keyboard-button-array)) +(in-package :ukkoclot/tg-types/inline-keyboard-button) + +(define-tg-type inline-keyboard-button + (text string) + (url (or string null) nil) + (callback-data string) + ;; TODO: (web-app (or web-app-info null) nil) + ;; TODO: (login-url (or login-url null) nil) + (switch-inline-query (or string null) nil) + (switch-inline-query-current-chat (or string null) nil) + ;; TODO: (switch-inline-query-chosen-chat (or switch-inline-query-chosen-chat null) nil) + ;; TODO: (copy-text (or copy-text-button null) nil) + ;; TODO: (callback-game (or callback-game null) nil) + (pay boolean nil)) -- cgit v1.2.3