blob: 40153fe6d7375b1f5d00402a87d6c0b6aad9d168 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
;; SPDX-License-Identifier: EUPL-1.2
;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
(defpackage :ukkoclot/src/tg/inline-keyboard-button
(:documentation "InlineKeyboardButton Telegram type")
(:use :c2cl :ukkoclot/src/tg/type-macros :ukkoclot/src/tg/web-app-info)
(: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-web-app
#:inline-keyboard-button-switch-inline-query
#:inline-keyboard-button-switch-inline-query-current-chat
#:inline-keyboard-button-pay))
(in-package :ukkoclot/src/tg/inline-keyboard-button)
(define-tg-type inline-keyboard-button
(text string)
(url (or string null) nil)
(callback-data string)
(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))
|