--- url: /reference/member.md description: >- Тип Member — участник Telegram-чата в шаблонах Astral Moderation. Свойства, роли, права, атрибуты и данные Astral. --- # Member

Участник чата. Встречается как member (о ком речь), bot (сам бот), arguments.targetMember (к кому обращена команда), chat.owner и в других местах.

При выводе `{{ member }}` печатается упоминание — имя-ссылка на профиль. ## Свойства { #properties } | Свойство | Тип | Описание | |---|---|---| | `id` | Число | ID пользователя в Telegram | | `mention` | Строка | Упоминание | | `name` | Строка | Имя и фамилия | | `firstName`, `lastName` | Строка | Имя и фамилия по отдельности | | `username` | Строка | Username без `@` | | `displayName` | Строка | Должность администратора в чате, а если ее нет — имя. Псевдоним — `nickname` | | `tag` | Строка | `@username`, а если его нет — имя | | `chatTag` | Строка | Тег участника в Telegram — подпись рядом с именем, или `null` | | `bot` | Логический | Это бот | | `isPremium` | Логический | Есть Telegram Premium | | `language` | Строка | Язык Telegram участника | | `status` | Строка | Статус в чате: `creator`, `administrator`, `member`, `restricted`, `left`, `kicked`. Псевдоним — `chatStatus` | | `isOwner` | Логический | Создатель чата | | `isAdmin` | Логический | Администратор чата | | `moderator` | Логический | Может модерировать: администратор с правом ограничивать участников или роль бота «модератор» | | `joinedAt` | [DateTime](./datetime) | Когда вступил в чат | | `avatarUrl` | Строка | Ссылка на аватар | | `rank` | [Rank](./rank) | Уровень и опыт | | `roles` | Список [BotRole](./bot-role) | Роли бота | | `warnCount` | Число | Активные предупреждения | | `attributes` | Атрибуты | Доступ к атрибутам по ключу: `member.attributes.coins` | | `astral.playerTag` | Строка | Тег привязанного игрока Brawl Stars или `null` | | `astral.player` | Игрок Astral | Профиль привязанного игрока или `null` — см. [astral](/templates/astral#players) | | `chat` | [Chat](./chat) | Чат участника | | `createdAt`, `bannerUrl`, `accentColor`, `activities`, `voiceState`, `flags`, `bio` | — | Всегда пусто: в Telegram этих данных нет | ## Методы { #methods } ### Роли { #roles } | Метод | Описание | |---|---| | `hasRole(роль)` | Есть ли роль бота. Роль — ID или объект | | `hasRoles([роли])` | Есть ли все роли из списка | | `hasAnyRole([роли])` | Есть ли хотя бы одна роль из списка | | `addRole(роль)`, `addRoles([роли])` | Выдать роли | | `removeRole(роль)`, `removeRoles([роли])` | Снять роли | | `modifyRoles([выдать], [снять])` | Выдать и снять одним вызовом | | `addTempRole(роль, срок)`, `addTempRoles([роли], срок)` | Выдать на время. Срок — миллисекунды или [DateTime](./datetime), не меньше 15 секунд | Изменений ролей — не больше 10 за выполнение. ### Права { #permissions } | Метод | Описание | |---|---| | `hasPermission(право)` | Есть ли у администратора право Telegram: `can_delete_messages`, `can_restrict_members`, `can_pin_messages` и другие | | `hasPermissions([права])` | Есть ли все права из списка | ### Атрибуты { #attributes } | Метод | Описание | |---|---| | `getAttribute(ключ)` | [MemberAttribute](./member-attribute) — значение, которое бот хранит для участника | ### Недоступно { #unsupported } `modifyNickname(имя)` — в Telegram нельзя менять ники, редактор покажет ошибку `unsupported_in_telegram`. ## Пример { #example } ```template {% if member.isAdmin %}🛡{% elseif member.hasRole('r_vip') %}⭐{% endif %} {{ member }} Уровень {{ member.rank.level }}, предупреждений: {{ member.warnCount }} ```