blob: 2b3869a03f0ca3a77af9d32360830fcf563bba7b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
;; SPDX-License-Identifier: EUPL-1.2
;; SPDX-FileCopyrightText: 2025 Uko Kokņevičs <perkontevs@gmail.com>
(defpackage :ukkoclot/src/tg/set-my-name
(:documentation "setMyName Telegram method.")
(:use :c2cl :ukkoclot/src/tg/bot-name :ukkoclot/src/tg/get-my-name :ukkoclot/src/tg/method-macros)
(:export :set-my-name))
(in-package :ukkoclot/src/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 (&key (name nil) (language-code nil))
"setMyName Telegram method.
We also first check if the name is already set because setMyName has a very heavy rate limiting impact."
(block nil
(when name
(let ((curr-name (get-my-name :language-code language-code)))
(when (string= name (bot-name-name curr-name))
(return))))
(unless (set-my-name% :name name :language-code language-code)
(error "Failed to set name"))))
|