diff options
| author | 2025-10-13 06:32:57 +0300 | |
|---|---|---|
| committer | 2025-10-13 06:32:57 +0300 | |
| commit | 9e424b351da370630924e32d0a84eba6fdb8c05e (patch) | |
| tree | 60999a1b91e73c8aa74e43085e3c0be39d5ec8cf /src/tg/set-my-name.lisp | |
| parent | Improve define-tg-method (diff) | |
| download | ukkoclot-9e424b351da370630924e32d0a84eba6fdb8c05e.tar.gz ukkoclot-9e424b351da370630924e32d0a84eba6fdb8c05e.tar.xz ukkoclot-9e424b351da370630924e32d0a84eba6fdb8c05e.zip | |
Move bot/methods to tg/*
Diffstat (limited to 'src/tg/set-my-name.lisp')
| -rw-r--r-- | src/tg/set-my-name.lisp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/tg/set-my-name.lisp b/src/tg/set-my-name.lisp new file mode 100644 index 0000000..5638a92 --- /dev/null +++ b/src/tg/set-my-name.lisp | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | ;; SPDX-License-Identifier: EUPL-1.2 | ||
| 2 | ;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com> | ||
| 3 | (defpackage :ukkoclot/tg/set-my-name | ||
| 4 | (:use :c2cl :ukkoclot/tg/bot-name :ukkoclot/tg/get-my-name :ukkoclot/bot/method-macros) | ||
| 5 | (:export :set-my-name)) | ||
| 6 | (in-package :ukkoclot/tg/set-my-name) | ||
| 7 | |||
| 8 | (define-tg-method (set-my-name% boolean) | ||
| 9 | (name (or string null) nil) | ||
| 10 | (language-code (or string null) nil)) | ||
| 11 | |||
| 12 | (defun set-my-name (bot &key (name nil) (language-code nil)) | ||
| 13 | (block nil | ||
| 14 | (when name | ||
| 15 | (let ((curr-name (get-my-name bot :language-code language-code))) | ||
| 16 | (when (string= name (bot-name-name curr-name)) | ||
| 17 | (return)))) | ||
| 18 | (unless (set-my-name% bot :name name :language-code language-code) | ||
| 19 | (error "Failed to set name")))) | ||