summaryrefslogtreecommitdiff
path: root/src/tg/get-me.lisp
blob: b7e8bc0677b048da09d6aad2a4cc23cae0450fdc (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
;; SPDX-License-Identifier: EUPL-1.2
;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
(defpackage :ukkoclot/src/tg/get-me
  (:use :c2cl :ukkoclot/src/tg/method-macros :ukkoclot/src/tg/user)
  (:import-from :ukkoclot/src/state :bot-id% :bot-username%)
  (:export :bot-id :bot-username :get-me))
(in-package :ukkoclot/src/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))))