summaryrefslogtreecommitdiff
path: root/src/tg/set-my-name.lisp
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2025-10-19 08:50:52 +0300
committerGravatar Uko Kokņevičs2025-10-19 08:50:52 +0300
commit6c4a545b30c601047091ac9439741ba52a3334d2 (patch)
treea15c33b47c7e3401603f84b200fbb71f203bb26f /src/tg/set-my-name.lisp
parentIntroduce locking in config (diff)
downloadukkoclot-6c4a545b30c601047091ac9439741ba52a3334d2.tar.gz
ukkoclot-6c4a545b30c601047091ac9439741ba52a3334d2.tar.xz
ukkoclot-6c4a545b30c601047091ac9439741ba52a3334d2.zip
Make state be a global special variable
Diffstat (limited to 'src/tg/set-my-name.lisp')
-rw-r--r--src/tg/set-my-name.lisp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/tg/set-my-name.lisp b/src/tg/set-my-name.lisp
index 67c698d..2b3869a 100644
--- a/src/tg/set-my-name.lisp
+++ b/src/tg/set-my-name.lisp
@@ -1,6 +1,7 @@
1;; SPDX-License-Identifier: EUPL-1.2 1;; SPDX-License-Identifier: EUPL-1.2
2;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com> 2;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
3(defpackage :ukkoclot/src/tg/set-my-name 3(defpackage :ukkoclot/src/tg/set-my-name
4 (:documentation "setMyName Telegram method.")
4 (:use :c2cl :ukkoclot/src/tg/bot-name :ukkoclot/src/tg/get-my-name :ukkoclot/src/tg/method-macros) 5 (:use :c2cl :ukkoclot/src/tg/bot-name :ukkoclot/src/tg/get-my-name :ukkoclot/src/tg/method-macros)
5 (:export :set-my-name)) 6 (:export :set-my-name))
6(in-package :ukkoclot/src/tg/set-my-name) 7(in-package :ukkoclot/src/tg/set-my-name)
@@ -9,11 +10,14 @@
9 (name (or string null) nil) 10 (name (or string null) nil)
10 (language-code (or string null) nil)) 11 (language-code (or string null) nil))
11 12
12(defun set-my-name (bot &key (name nil) (language-code nil)) 13(defun set-my-name (&key (name nil) (language-code nil))
14 "setMyName Telegram method.
15
16We also first check if the name is already set because setMyName has a very heavy rate limiting impact."
13 (block nil 17 (block nil
14 (when name 18 (when name
15 (let ((curr-name (get-my-name bot :language-code language-code))) 19 (let ((curr-name (get-my-name :language-code language-code)))
16 (when (string= name (bot-name-name curr-name)) 20 (when (string= name (bot-name-name curr-name))
17 (return)))) 21 (return))))
18 (unless (set-my-name% bot :name name :language-code language-code) 22 (unless (set-my-name% :name name :language-code language-code)
19 (error "Failed to set name")))) 23 (error "Failed to set name"))))