diff options
| author | 2025-10-19 08:50:52 +0300 | |
|---|---|---|
| committer | 2025-10-19 08:50:52 +0300 | |
| commit | 6c4a545b30c601047091ac9439741ba52a3334d2 (patch) | |
| tree | a15c33b47c7e3401603f84b200fbb71f203bb26f /src/tg/set-my-name.lisp | |
| parent | Introduce locking in config (diff) | |
| download | ukkoclot-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.lisp | 10 |
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 | |||
| 16 | We 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")))) |