;; SPDX-License-Identifier: EUPL-1.2 ;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs (defpackage :ukkoclot/tg/set-my-name (:use :c2cl :ukkoclot/tg/bot-name :ukkoclot/tg/get-my-name :ukkoclot/tg/method-macros) (:export :set-my-name)) (in-package :ukkoclot/tg/set-my-name) (define-tg-method (set-my-name% boolean) (name (or string null) nil) (language-code (or string null) nil)) (defun set-my-name (bot &key (name nil) (language-code nil)) (block nil (when name (let ((curr-name (get-my-name bot :language-code language-code))) (when (string= name (bot-name-name curr-name)) (return)))) (unless (set-my-name% bot :name name :language-code language-code) (error "Failed to set name"))))