---
url: >-
  https://docs.juniper.bot/en/message-templates/types/storage/member-attribute.md
description: MemberAttribute data type used in JuniperBot Template Engine.
---

[Number]: /en/message-templates/types/index#literals

[String]: /en/message-templates/types/index#literals

[Boolean]: /en/message-templates/types/index#literals

[List]: /en/message-templates/types/index#lists

[Map]: /en/message-templates/types/index#maps

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# MemberAttribute

This data type describes all available data about the member attribute. Attributes are used to store custom data tied to member.

::: info
For more information about member attributes and how to use them, check
[Member Attributes](../../persistence/member-attributes) article.
:::

## Properties { #properties }

| Property    | Type                                                                                                          | Description          |
|:------------|:--------------------------------------------------------------------------------------------------------------|:---------------------|
| `value`     | \[Member], \[Role], \[TextChannel], \[NewsChannel], \[VoiceChannel], \[StageChannel], \[ForumChannel], \[MediaChannel], \[ThreadChannel], \[Category], \[Number], \[String], \[Boolean] | Current value        |
| `updatedAt` | \[DateTime]                                                                                                    | Update date and time |

## Methods { #methods }

### `update(Value)` { #method-update .template-method }

::: tabs

\== Description | mdi-text

Updates attribute value. For string, max length is 2000 characters.

Returns the same value.

**Returns:** \[Member], \[Role], \[TextChannel], \[NewsChannel], \[VoiceChannel], \[StageChannel], \[ForumChannel], \[MediaChannel], \[ThreadChannel], \[Category], \[Number], \[String], \[Boolean]

\== Parameters | mdi-code-parentheses

| Parameter | Type                                                                                               | Description            |
|:----------|:---------------------------------------------------------------------------------------------------|:-----------------------|
| `Value`   | \[Member], \[Role], \[TextChannel], \[NewsChannel], \[VoiceChannel], \[StageChannel], \[ForumChannel], \[MediaChannel], \[ThreadChannel], \[Category], \[Number], \[String] | New value of attribute |

If string `'true'` or `'false'` is passed, it is converted to \[Boolean].

\== Example | mdi-code-block-braces

```template{2}
{% set attribute = member.getAttribute('myAttribute') %}
{% do attribute.update('some-data') %}
```

:::

### `increment(Number)` { #method-increment .template-method }

::: tabs

\== Description | mdi-text

Increments the attribute by specified amount and returns new value. The counting starts from 0 if current value wasn't a number.

**Returns:** \[Number]

\== Parameters | mdi-code-parentheses

| Parameter | Type     | Description                                      |
|:----------|:---------|:-------------------------------------------------|
| `Number`  | \[Number] | Increments a numeric value by a specified number |

\== Example | mdi-code-block-braces

```template{2}
{% set attribute = member.getAttribute('myAttribute') %}
{% do attribute.increment(1) %}
```

:::

### `decrement(Number)` { #method-decrement .template-method }

::: tabs

\== Description | mdi-text

Decrements the attribute by specified amount and returns new value. The counting starts from 0 if current value wasn't a number.

**Returns:** \[Number]

\== Parameters | mdi-code-parentheses

| Parameter | Type     | Description                                      |
|:----------|:---------|:-------------------------------------------------|
| `Number`  | \[Number] | Decrements a numeric value by a specified number |

\== Example | mdi-code-block-braces

```template{2}
{% set attribute = member.getAttribute('myAttribute') %}
{% do attribute.decrement(1) %}
```

:::

### `clear()` { #method-clear .template-method }

::: tabs

\== Description | mdi-text

Clears attribute and deletes it from database.

\== Example | mdi-code-block-braces

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

:::
