From 5e6b7a1248e175e8c550ce9feed7745292f17bfe Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Fri, 10 Oct 2025 07:13:19 +0300 Subject: Add a helper reply-message function --- src/bot/advanced.lisp | 29 +++++++++++++++++++++++++++++ src/bot/methods.lisp | 15 ++------------- 2 files changed, 31 insertions(+), 13 deletions(-) create mode 100644 src/bot/advanced.lisp (limited to 'src/bot') diff --git a/src/bot/advanced.lisp b/src/bot/advanced.lisp new file mode 100644 index 0000000..a6ad9ba --- /dev/null +++ b/src/bot/advanced.lisp @@ -0,0 +1,29 @@ +;; SPDX-License-Identifier: EUPL-1.2 +;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs +(defpackage :ukkoclot/bot/advanced + (:use :c2cl :ukkoclot/bot/impl :ukkoclot/bot/methods :ukkoclot/tg-types) + (:export :bot-id :bot-username :reply-message)) +(in-package :ukkoclot/bot/advanced) + +(defun bot-id (bot) + (or (bot-id% bot) + (progn + (get-me bot) + (bot-id% bot)))) + +(defun bot-username (bot) + (or (bot-username% bot) + (progn + (get-me bot) + (bot-username% bot)))) + +(defun reply-message (bot msg text &key parse-mode allow-sending-without-reply) + (send-message bot + :chat-id (message-chat-id msg) + :text text + :parse-mode parse-mode + :reply-parameters + (make-reply-parameters + :allow-sending-without-reply allow-sending-without-reply + :message-id (message-id msg) + :chat-id (message-chat-id msg)))) diff --git a/src/bot/methods.lisp b/src/bot/methods.lisp index b0eca5c..99b6411 100644 --- a/src/bot/methods.lisp +++ b/src/bot/methods.lisp @@ -2,7 +2,7 @@ ;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs (defpackage :ukkoclot/bot/methods (:use :c2cl :ukkoclot/bot/impl :ukkoclot/tg-types :ukkoclot/tg-types/macros) - (:export :answer-callback-query :bot-id :bot-username :delete-message :edit-message-text :get-me :get-updates :send-message :set-my-name)) + (:export :answer-callback-query :delete-message :edit-message-text :get-me :get-updates :send-message :set-my-name)) (in-package :ukkoclot/bot/methods) (define-tg-method (answer-callback-query boolean "answerCallbackQuery" #'identity) @@ -12,22 +12,11 @@ (url (or string null) nil) (cache-time (or integer null) nil)) -(defun bot-id (bot) - (or (bot-id% bot) - (progn - (get-me bot) - (bot-id% bot)))) - -(defun bot-username (bot) - (or (bot-username% bot) - (progn - (get-me bot) - (bot-username% bot)))) - (define-tg-method (delete-message boolean "deleteMessage" #'identity) (chat-id (or integer string)) (message-id integer)) +;; TODO: Add a way to simply specify :message msg :) (define-tg-method (edit-message-text message "editMessageText" #'hash->message) (business-connection-id (or string null) nil) (chat-id (or integer string null) nil) -- cgit v1.2.3