(client: TelegramClient, userId: number)
| 421 | if (nameCache.has(userId)) return nameCache.get(userId)!; |
| 422 | const user = await fetchUserInfo(client, userId); |
| 423 | if (user) { |
| 424 | const name = [user.firstName, user.lastName].filter(Boolean).join(" ").trim() || "Unknown"; |
| 425 | return name; |
| 426 | } |
| 427 | return String(userId); |
| 428 | } |
| 429 | |
| 430 | function userLink(id: number, name: string): string { |
| 431 | return `<a href="tg://user?id=${attrEscape(id)}">${htmlEscape(name)} (${htmlEscape(id)})</a>`; |
| 432 | } |
| 433 | |
| 434 | function isBotFromSender(sender: any): boolean { |
no test coverage detected