diff options
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")))) |