summaryrefslogtreecommitdiff
path: root/src/tg/user.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tg/user.lisp')
-rw-r--r--src/tg/user.lisp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/tg/user.lisp b/src/tg/user.lisp
index 2549d66..0768d12 100644
--- a/src/tg/user.lisp
+++ b/src/tg/user.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/user 3(defpackage :ukkoclot/src/tg/user
4 (:documentation "User Telegram type")
4 (:use :c2cl :ukkoclot/src/tg/type-macros) 5 (:use :c2cl :ukkoclot/src/tg/type-macros)
5 (:import-from :ukkoclot/src/strings :escape-xml) 6 (:import-from :ukkoclot/src/strings :escape-xml)
6 (:export 7 (:export
@@ -39,6 +40,7 @@
39 (can-connect-to-business boolean nil)) 40 (can-connect-to-business boolean nil))
40 41
41(defun user-format-name% (user out) 42(defun user-format-name% (user out)
43 "Format the USER's name in a nice way to stream OUT."
42 (format out "<a href=\"tg://user?id=~A\"><i>" (user-id user)) 44 (format out "<a href=\"tg://user?id=~A\"><i>" (user-id user))
43 (escape-xml (user-first-name user) out) 45 (escape-xml (user-first-name user) out)
44 (when (user-last-name user) 46 (when (user-last-name user)
@@ -53,6 +55,9 @@
53 (format out "</a> [<code>~A</code>]" (user-id user))) 55 (format out "</a> [<code>~A</code>]" (user-id user)))
54 56
55(defun user-format-name (user &optional out) 57(defun user-format-name (user &optional out)
58 "Format the USER's name in a nice way to stream OUT.
59
60If OUT is `nil', return the formatted name as a string instead."
56 (if out 61 (if out
57 (user-format-name% user out) 62 (user-format-name% user out)
58 (with-output-to-string (stream) 63 (with-output-to-string (stream)