summaryrefslogtreecommitdiff
path: root/src/tg/set-my-name.lisp
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2025-10-13 06:32:57 +0300
committerGravatar Uko Kokņevičs2025-10-13 06:32:57 +0300
commit9e424b351da370630924e32d0a84eba6fdb8c05e (patch)
tree60999a1b91e73c8aa74e43085e3c0be39d5ec8cf /src/tg/set-my-name.lisp
parentImprove define-tg-method (diff)
downloadukkoclot-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.lisp19
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"))))