EnotPRO Logo EnotPRO

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}

В короткой форме макрос создаёт ссылку на отправителя сообщения (from) с его именем в качестве текста.

Параметры

Параметр Тип Обязательный Описание
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}

Целевой пользователь

!{user|path: target}

Автор сообщения, на которое ответили

!{user|path: reply}

💡 В обычном сообщении from и target — это один и тот же человек. Они расходятся в реакциях, которые работают по ответу, по внешнему сообщению или по списку пользователей: там target — тот, над кем выполняется действие, а from остаётся тем, кто вызвал реакцию.

💡 path может также указывать на любой объект в контексте, содержащий поля id, first_name, last_name, username.

Примеры

Простейший пример (отправитель сообщения)

!{user}

Результат (если отправитель имеет имя «Иван Петров» и ID 123456789):

<a href="tg://user?id=123456789">Иван Петров</a>

Ссылка на целевого пользователя

!{user|path: target}

Ссылка на автора сообщения, на которое ответили

!{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, поэтому взят отправитель (from) Укажите явно path: target или path: reply
Текст ссылки — "user" Не удалось определить имя пользователя Укажите text явно
Ссылка в админку не работает Не указан id Убедитесь, что у пользователя есть ID
byUsername не срабатывает У пользователя нет username Проверьте, есть ли у пользователя username

Дополнительные примеры

Использование переменных

!{user|id: ${target.from.id}}

!{user|username: ${from.username}}

Ссылка на профиль в админке бота

!{user|path: target; text: Открыть в админке; admin}

Только ссылка без HTML-обёртки

!{user|path: target; linkOnly}

Ссылка через t.me вместо tg://user

!{user|path: target; byUsername}

Комбинация параметров

!{user|
  path: target;
  text: Связаться с пользователем;
  byUsername;
}
© 2025 EnotPRO. Все права защищены.