;; SPDX-License-Identifier: EUPL-1.2 ;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs (defpackage :ukkoclot/tg/get-me (:use :c2cl :ukkoclot/tg/method-macros :ukkoclot/tg/user) (:import-from :ukkoclot/state :bot-id% :bot-username%) (:export :bot-id :bot-username :get-me)) (in-package :ukkoclot/tg/get-me) (define-tg-method (get-me% user :GET)) (defun get-me (bot) (let ((me (get-me% bot))) (setf (bot-id% bot) (user-id me)) (setf (bot-username% bot) (user-username me)) me)) (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))))