user
Макрос !{user} создаёт ссылку на профиль пользователя Telegram. Ссылка может вести:
- На профиль пользователя в Telegram (через
tg://user?id=илиt.me/username) - В админку бота (на страницу управления пользователем)
💡 Совет: Используйте макрос, чтобы показывать имя пользователя в виде кликабельной ссылки. Это удобно для списков участников, логов, уведомлений администраторам.
Пример результата:
<a href="tg://user?id=123456789">Иван Петров</a>
Синтаксис
!{user|
path: from;
text: Кастомный текст;
admin;
linkOnly;
byUsername;
}
Короткая форма (без параметров):
!{user}
В короткой форме макрос создаёт ссылку на целевого пользователя (target) с его именем в качестве текста.
Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| id | Число | ❌ Нет | ID пользователя |
| username | Строка | ❌ Нет | Username пользователя (с @ или без) |
| path | Строка | ❌ Нет | Путь к объекту с данными пользователя |
| text | Строка | ❌ Нет | Текст ссылки (вместо имени пользователя) |
| admin | Boolean | ❌ Нет | Ссылка на профиль в админке бота |
| linkOnly | Boolean | ❌ Нет | Только URL (без HTML-обёртки) |
| byUsername | Boolean | ❌ Нет | Ссылка через t.me/username (вместо tg://user?id=) |
Значения параметра path
Параметр path позволяет указать, откуда брать данные пользователя.
| Значение | Описание |
|---|---|
| from | Отправитель текущего сообщения |
| target | Целевой пользователь (значение по умолчанию) |
| reply | Автор сообщения, на которое ответили |
Примеры
Отправитель текущего сообщения
!{user|path: from}
Целевой пользователь (по умолчанию)
!{user|path: target}
То же самое, что и !{user}
Автор сообщения, на которое ответили
!{user|path: reply}
💡
pathможет также указывать на любой объект в контексте, содержащий поляid,first_name,last_name,username.
Примеры
Простейший пример (текущий целевой пользователь)
!{user}
Результат (если пользователь target имеет имя «Иван Петров» и ID 123456789):
<a href="tg://user?id=123456789">Иван Петров</a>
Ссылка на отправителя сообщения
!{user|path: from}
Ссылка на автора сообщения, на которое ответили
!{user|path: reply}
С кастомным текстом
!{user|path: target; text: Написать администратору}
Результат:
<a href="tg://user?id=123456789">Написать администратору</a>
По конкретному ID
!{user|id: 123456789}
По username
!{user|username: durov}
Результат:
<a href="https://t.me/durov">@durov</a>
Типичные ошибки и их решение
| Ошибка | Причина | Решение |
|---|---|---|
| Ссылка ведёт не туда | Не указан path, а контекст не содержит target |
Укажите явно path: from или path: reply |
Текст ссылки — "user" |
Не удалось определить имя пользователя | Укажите text явно |
| Ссылка в админку не работает | Не указан id |
Убедитесь, что у пользователя есть ID |
| byUsername не срабатывает | У пользователя нет username | Проверьте, есть ли у пользователя username |
Описание: Создает ссылку на профиль пользователя Telegram.
Параметры:
id- идентификатор пользователя или переменная со значением ID (опциональный)username- username пользователя (с @ или без) или переменная со значением username (опциональный)path- путь к объекту с параметрами пользователя (опциональный):from- отправитель текущего сообщенияtarget- целевой пользователь (по умолчанию, если не указаны id, username или path)reply- автор сообщения, на которое ответили
text- текст для отображения вместо имени пользователя (опциональный)admin(bool) - создать ссылку на раздел пользователя в админке бота вместо профиля Telegram (опциональный, требуется наличие id)linkOnly(bool) - вернуть только URL без HTML-обёртки (опциональный)byUsername(bool) - строить ссылку через t.me/username вместо tg://user?id= (опциональный, работает если у пользователя есть username)
Возвращает: HTML-ссылку на пользователя Telegram или профиль в админке бота.
Примеры:
Ссылка на целевого пользователя (по умолчанию)
(path=target по умолчанию)
!{user}
Ссылка на инициатора действия
!{user|
path: from;}
Ссылка по конкретному ID
!{user|
id: 123456789;}
Ссылка на пользователя по username
!{user|
username:durov}
Использование переменных
!{user|
id: ${targetUser.id};}
!{user|
username: ${user.username};}
Ссылка с кастомным текстом
!{user|
path: targetUser;
text: Открыть профиль;}
Ссылка на профиль в админке бота
!{user|
path: targetUser;
text: Открыть в админке;
``admin;}
Только ссылка без текста
!{user|
path: targetUser;
linkOnly;}
Ссылка через t.me
!{user|
path: targetUser;
byUsername;}
Комбинация параметров
!{user|
path: targetUser;
text: Связаться с пользователем;
byUsername;
}