---
url: https://docs.juniper.bot/message-templates/types/discord/member.md
description: Тип данных Member, используемый в шаблонном движке JuniperBot.
---

[Число]: /message-templates/types/index#literals

[Строка]: /message-templates/types/index#literals

[Логический]: /message-templates/types/index#literals

[Список]: /message-templates/types/index#lists

[Карта]: /message-templates/types/index#maps

[DateTime]: /message-templates/types/index#datetime

[TwitchChannel]: /message-templates/types/subscriptions/twitch#twitch-channel

[TwitchStream]: /message-templates/types/subscriptions/twitch#twitch-stream

[TwitchGame]: /message-templates/types/subscriptions/twitch#twitch-game

[YouTubeChannel]: /message-templates/types/subscriptions/youtube#youtube-channel

[YouTubeVideo]: /message-templates/types/subscriptions/youtube#youtube-video

[VkWallPost]: /message-templates/types/subscriptions/vk#vkwallpost

[Rank]: /message-templates/types/discord/rank

[Guild]: /message-templates/types/discord/guild

[Member]: /message-templates/types/discord/member

[Role]: /message-templates/types/discord/role

[Message]: /message-templates/types/discord/message

[Attachment]: /message-templates/types/discord/attachment

[Embed]: /message-templates/types/discord/embed

[Activity]: /message-templates/types/discord/activity

[MemberVoiceState]: /message-templates/types/discord/member-voice-state

[MemberPrimaryGuild]: /message-templates/types/discord/member-primary-guild

[MenuBuilder]: /message-templates/types/discord/menu-builder

[UserFlag]: /message-templates/types/discord/user-flag

[Permission]: /message-templates/types/discord/permission

[Category]: /message-templates/types/discord/category

[TextChannel]: /message-templates/types/discord/text-channel

[VoiceChannel]: /message-templates/types/discord/voice-channel

[NewsChannel]: /message-templates/types/discord/news-channel

[StageChannel]: /message-templates/types/discord/stage-channel

[ForumChannel]: /message-templates/types/discord/forum-channel

[MediaChannel]: /message-templates/types/discord/media-channel

[ThreadChannel]: /message-templates/types/discord/thread-channel

[Page]: /message-templates/types/storage/page

[GuildIndex]: /message-templates/types/storage/guild-index

[GuildIndexEntry]: /message-templates/types/storage/guild-index-entry

[GuildIndexes]: /message-templates/types/storage/guild-indexes

[MemberAttribute]: /message-templates/types/storage/member-attribute

[MemberAttributes]: /message-templates/types/storage/member-attributes

[Arguments]: /message-templates/types/custom-commands/arguments

[Parameters]: /message-templates/types/custom-commands/parameters

[Component]: /message-templates/types/custom-commands/component

[Modal]: /message-templates/types/custom-commands/modal

# Member

Этот тип данных описывает все доступные данные об участнике сервера и операции над ним.

## Свойства { #properties }

| Свойство         | Тип                  | Описание                                                                  |
|:-----------------|:---------------------|:--------------------------------------------------------------------------|
| `id`             | \[Число]              | Уникальный идентификатор участника                                        |
| `mention`        | \[Строка]             | Упоминание участника                                                      |
| `name`           | \[Строка]             | Имя участника                                                             |
| `displayName`    | \[Строка]             | Отображаемое имя участника                                                |
| `nickname`       | \[Строка]             | Никнейм участника на сервере (если установлен) или его оригинальное  имя  |
| `tag`            | \[Строка]             | Полный тег участника в формате `Ник#1234`                                 |
| `bot`            | \[Логический]         | Признак, является ли указанный участник ботом                             |
| `moderator`      | \[Логический]         | Признак, является ли указанный участник модератором сервера               |
| `discriminator`  | \[Строка]             | Дискриминатор участника (4 числа после #)                                 |
| `joinedAt`       | \[DateTime]           | Дата и время присоединения участника на сервер                            |
| `createdAt`      | \[DateTime]           | Дата и время регистрации участника                                        |
| `status`         | \[Строка]             | Статус участника (В сети, Нет на месте, Не беспокоить, Оффлайн)           |
| `avatarUrl`      | \[Строка]             | Ссылка на аватар участника                                                |
| `guildAvatarUrl` | \[Строка]             | Ссылка на серверный аватар участника, либо на основной при его отсутствии |
| `bannerUrl`      | \[Строка]             | Ссылка на баннер профиля участника                                        |
| `accentColor`    | \[Строка]             | Цвет профиля участника в формате `#RRGGBB`                                |
| `bio`            | \[Строка]             | Биография участника, указанная в команде `/юзер`                          |
| `rank`           | \[Rank]               | Данные о рейтинге участника на сервере                                    |
| `roles`          | \[Список]<\[Role]>     | Список ролей участника                                                    |
| `guild`          | \[Guild]              | Данные о сервере                                                          |
| `attributes`     | \[MemberAttributes]   | Атрибуты участника                                                        |
| `activities`     | \[Список]<\[Activity]> | Активности участника                                                      |
| `voiceState`     | \[MemberVoiceState]   | Состояние подключения к голосовому каналу                                 |
| `primaryGuild`   | \[MemberPrimaryGuild] | Основной сервер участника (серверный тэг)                                 |
| `flags`          | \[Список]<\[UserFlag]> | Флаги участника                                                           |

## Методы { #methods }

### `hasRole(Роль)`  { #method-hasrole .template-method }

::: tabs

\== Описание | mdi-text

Проверяет, есть ли указанная роль у участника.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип             | Описание                           |
|:---------|:----------------|:-----------------------------------|
| `Роль`   | \[Число], \[Role] | Идентификатор роли или объект роли |

\== Пример | mdi-code-block-braces

```template{1}
{% if member.hasRole(313987336041922560) %}
У вас есть эта роль
{% endif %}
```

:::

### `hasRoles(Роли)`  { #method-hasroles .template-method }

::: tabs

\== Описание | mdi-text

Проверяет, есть ли все указанные роли у участника.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип               | Описание                     |
|:---------|:------------------|:-----------------------------|
| `Роли`   | \[Список]<\[Число]> | Список идентификаторов ролей |

\== Пример | mdi-code-block-braces

```template{1}
{% if member.hasRoles([313987336041922560, 559701501597974529]) %}
У вас есть эти роли
{% endif %}
```

:::

### `hasAnyRole(Роли)`  { #method-hasanyrole .template-method }

::: tabs

\== Описание | mdi-text

Проверяет, есть ли у участника хотя бы одна из перечисленных ролей.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип               | Описание                     |
|:---------|:------------------|:-----------------------------|
| `Роли`   | \[Список]<\[Число]> | Список идентификаторов ролей |

\== Пример | mdi-code-block-braces

```template{1}
{% if member.hasAnyRole([313987336041922560, 559701501597974529]) %}
У вас есть одна из этих ролей
{% endif %}
```

:::

### `hasPermission(Название)`  { #method-haspermission .template-method }

::: tabs

\== Описание | mdi-text

Проверяет, есть ли у участника указанное право доступа (глобально).

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр   | Тип          | Описание                   |
|:-----------|:-------------|:---------------------------|
| `Название` | \[Permission] | Право доступа для проверки |

\== Пример | mdi-code-block-braces

```template{1}
{% if member.hasPermission('ADMINISTRATOR') %}
Вы администратор этого сервера
{% endif %}
```

:::

### `hasPermissions(Названия)`  { #method-haspermissions .template-method }

::: tabs

\== Описание | mdi-text

Проверяет, есть ли у участника указанные права доступа (глобально).

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр   | Тип                    | Описание                   |
|:-----------|:-----------------------|:---------------------------|
| `Названия` | \[Список]<\[Permission]> | Права доступа для проверки |

\== Пример | mdi-code-block-braces

```template{1}
{% if member.hasPermissions(['KICK_MEMBERS', 'BAN_MEMBERS']) %}
Вы можете кикать и банить
{% endif %}
```

:::

### `hasPermission(Канал, Название)`  { #method-haspermission-channel .template-method }

::: tabs

\== Описание | mdi-text

Проверяет, есть ли у участника указанное право доступа в указанном канале.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр   | Тип                                                        | Описание                                        |
|:-----------|:-----------------------------------------------------------|:------------------------------------------------|
| `Канал`    | \[Число], \[TextChannel], \[NewsChannel], \[VoiceChannel], \[StageChannel], \[ForumChannel], \[MediaChannel], \[ThreadChannel], \[Category] | Идентификатор роли или объект текстового канала |
| `Название` | \[Permission]                                               | Право доступа для проверки                      |

\== Пример | mdi-code-block-braces

```template{1}
{% if member.hasPermission(channel, 'MESSAGE_MANAGE') %}
Вы можете управлять сообщениями в текущем канале
{% endif %}
```

:::

### `hasPermissions(Канал, Названия)`  { #method-haspermissions-channel .template-method }

::: tabs

\== Описание | mdi-text

Проверяет, есть ли у участника указанные права доступа в указанном канале.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр   | Тип                                                        | Описание                                        |
|:-----------|:-----------------------------------------------------------|:------------------------------------------------|
| `Канал`    | \[Число], \[TextChannel], \[NewsChannel], \[VoiceChannel], \[StageChannel], \[ForumChannel], \[MediaChannel], \[ThreadChannel], \[Category] | Идентификатор роли или объект текстового канала |
| `Названия` | \[Список]<\[Permission]>                                     | Права доступа для проверки                      |

\== Пример | mdi-code-block-braces

```template{1}
{% if member.hasPermissions(channel, ['MESSAGE_EMBED_LINKS', 'MESSAGE_SEND']) %}
Вы можете отправлять сообщения и прикреплять ссылки в текущем канале
{% endif %}
```

:::

### `hasFlag(Флаг)`  { #method-hasflag .template-method }

::: tabs

\== Описание | mdi-text

Проверяет, есть ли у участника указанный флаг.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип        | Описание          |
|:---------|:-----------|:------------------|
| `Флаг`   | \[UserFlag] | Флаг для проверки |

\== Пример | mdi-code-block-braces

```template{1}
{% if member.hasFlag('VERIFIED_DEVELOPER') %}
Вы верифицированный разработчик
{% endif %}
```

:::

### `addRole(Роль)`  { #method-addrole .template-method }

::: tabs

\== Описание | mdi-text

Выдает участнику указанную роль. Возвращает `true`, если набор ролей участника был изменён.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип             | Описание                           |
|:---------|:----------------|:-----------------------------------|
| `Роль`   | \[Число], \[Role] | Идентификатор роли или объект роли |

\== Примеры | mdi-code-block-braces

```template
{% do member.addRole(686162482703630374) %}
```

```template{1}
{% if member.addRole(686162482703630374) %}
Вам выдана роль
{% else %}
Эта роль у вас уже есть
{% endif %}
```

:::

### `addRoles(Роли)`  { #method-addroles .template-method }

::: tabs

\== Описание | mdi-text

Выдает участнику указанные роли. Возвращает `true`, если набор ролей участника был изменён.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип               | Описание                     |
|:---------|:------------------|:-----------------------------|
| `Роли`   | \[Список]<\[Число]> | Список идентификаторов ролей |

\== Примеры | mdi-code-block-braces

```template
{% do member.addRoles([686162482703630374, 686162513146150914]) %}
```

```template{1}
{% if member.addRoles([686162482703630374, 686162513146150914]) %}
Вам выданы роли
{% else %}
Эти роли у вас уже есть
{% endif %}
```

:::

### `addTempRole(Роль, Длительность)`  { #method-addtemprole .template-method }

::: tabs

\== Описание | mdi-text

Выдает участнику указанную роль временно. Возвращает `true`, если набор ролей участника был изменён (не менее 15 секунд).

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр       | Тип                 | Описание                                                                         |
|:---------------|:--------------------|:---------------------------------------------------------------------------------|
| `Роль`         | \[Число], \[Role]     | Идентификатор роли или объект роли                                               |
| `Длительность` | \[DateTime], \[Число] | Точная дата снятия или количество миллисекунд, на время которых надо выдать роль |

\== Примеры | mdi-code-block-braces

```template
{% do member.addTempRole(686162482703630374, 20000) %}
```

```template{1}
{% if member.addTempRole(686162482703630374, 20000) %}
Вам выдана роль на 20 секунд
{% else %}
Эта роль у вас уже есть
{% endif %}
```

:::

### `addTempRoles(Роли, Длительность)`  { #method-addtemproles .template-method }

::: tabs

\== Описание | mdi-text

Выдает участнику указанные роли временно. Возвращает `true`, если набор ролей участника был изменён (не менее 15 секунд).

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр       | Тип                 | Описание                                                                         |
|:---------------|:--------------------|:---------------------------------------------------------------------------------|
| `Роли`         | \[Список]<\[Число]>   | Список идентификаторов ролей                                                     |
| `Длительность` | \[DateTime], \[Число] | Точная дата снятия или количество миллисекунд, на время которых надо выдать роли |

\== Примеры | mdi-code-block-braces

```template
{% do member.addTempRoles([686162482703630374, 686162513146150914], 20000) %}
```

```template{1}
{% if member.addTempRoles([686162482703630374, 686162513146150914], 20000) %}
Вам выдана роль на 20 секунд
{% else %}
Эта роль у вас уже есть
{% endif %}
```

:::

### `removeRole(Роль)`  { #method-removerole .template-method }

::: tabs

\== Описание | mdi-text

Снимает с участника указанную роль. Возвращает `true`, если набор ролей участника был изменён.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип             | Описание                           |
|:---------|:----------------|:-----------------------------------|
| `Роль`   | \[Число], \[Role] | Идентификатор роли или объект роли |

\== Примеры | mdi-code-block-braces

```template
{% do member.removeRole(686162482703630374) %}
```

```template{1}
{% if member.removeRole(686162482703630374) %}
Роль была снята
{% else %}
Этой роли у вас нет
{% endif %}
```

:::

### `removeRoles(Роли)`  { #method-removeroles .template-method }

::: tabs

\== Описание | mdi-text

Снимает с участника указанные роли. Возвращает `true`, если набор ролей участника был изменён.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип               | Описание                     |
|:---------|:------------------|:-----------------------------|
| `Роли`   | \[Список]<\[Число]> | Список идентификаторов ролей |

\== Примеры | mdi-code-block-braces

```template
{% do member.removeRoles([686162482703630374, 686162513146150914]) %}
```

```template{1}
{% if member.removeRoles([686162482703630374, 686162513146150914]) %}
Роли сняты
{% else %}
Этих ролей у вас нет
{% endif %}
```

:::

### `modifyRoles(Добавить, Снять)`  { #method-modifyroles .template-method }

::: tabs

\== Описание | mdi-text

Добавляет и снимает указанные роли у участника. Возвращает `true`, если набор ролей участника был изменён.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр   | Тип               | Описание                     |
|:-----------|:------------------|:-----------------------------|
| `Добавить` | \[Список]<\[Число]> | Список идентификаторов ролей |
| `Снять`    | \[Список]<\[Число]> | Список идентификаторов ролей |

\== Примеры | mdi-code-block-braces

```template
{% do member.modifyRoles([686162482703630374], [686162513146150914]) %}
```

```template{1}
{% if member.modifyRoles([686162482703630374], [686162513146150914]) %}
Роли были изменены
{% else %}
Изменений в ролях не было
{% endif %}
```

:::

### `modifyNickname(Имя)`  { #method-modifynickname .template-method }

::: tabs

\== Описание | mdi-text

Изменяет никнейм участнику. Длина никнейма должна быть в диапазоне от 2 до 32 символов.

Возвращает `true`, если имя было успешно изменено.

**Возвращаемые типы:** \[Логический]

\== Параметры | mdi-code-parentheses

| Параметр | Тип      | Описание                |
|:---------|:---------|:------------------------|
| `Имя`    | \[Строка] | Новый никнейм участника |

\== Примеры | mdi-code-block-braces

```template
{% do member.modifyNickname('NewName') %}
```

```template{1}
{% if member.modifyNickname('NewName') %}
Имя было успешно изменено
{% else %}
Имя осталось прежним
{% endif %}
```

:::

### `getAttribute(Ключ)`  { #method-getattribute .template-method }

::: tabs

\== Описание | mdi-text

Получает указанный атрибут участника (хранимое значение).

**Возвращаемые типы:** \[MemberAttribute]

\== Параметры | mdi-code-parentheses

| Параметр | Тип      | Описание      |
|:---------|:---------|:--------------|
| `Ключ`   | \[Строка] | Ключ атрибута |

\== Пример | mdi-code-block-braces

```template
{% set attribute = member.getAttribute('myAttribute') %}
```

:::
