summaryrefslogtreecommitdiff
path: root/src/tg-types/inline-keyboard-button.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tg-types/inline-keyboard-button.lisp')
-rw-r--r--src/tg-types/inline-keyboard-button.lisp32
1 files changed, 32 insertions, 0 deletions
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 @@
1;; SPDX-License-Identifier: EUPL-1.2
2;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
3(defpackage :ukkoclot/tg-types/inline-keyboard-button
4 (:use :c2cl :ukkoclot/tg-types/macros)
5 (:export
6 inline-keyboard-button
7 make-inline-keyboard-button
8 inline-keyboard-button-p
9 copy-inline-keyboard-button
10 inline-keyboard-button-text
11 inline-keyboard-button-url
12 inline-keyboard-button-callback-data
13 inline-keyboard-button-switch-inline-query
14 inline-keyboard-button-switch-inline-query-current-chat
15 inline-keyboard-button-pay
16
17 hash->inline-keyboard-button
18 parse-inline-keyboard-button-array))
19(in-package :ukkoclot/tg-types/inline-keyboard-button)
20
21(define-tg-type inline-keyboard-button
22 (text string)
23 (url (or string null) nil)
24 (callback-data string)
25 ;; TODO: (web-app (or web-app-info null) nil)
26 ;; TODO: (login-url (or login-url null) nil)
27 (switch-inline-query (or string null) nil)
28 (switch-inline-query-current-chat (or string null) nil)
29 ;; TODO: (switch-inline-query-chosen-chat (or switch-inline-query-chosen-chat null) nil)
30 ;; TODO: (copy-text (or copy-text-button null) nil)
31 ;; TODO: (callback-game (or callback-game null) nil)
32 (pay boolean nil))