---
url: https://docs.juniper.bot/message-templates/types/storage/guild-index.md
description: Тип данных GuildIndex, используемый в шаблонном движке 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

# GuildIndex

Этот тип данных описывает конкретный индекс сервера. С помощью индексов можно хранить какие-либо сортируемые наборы данных на сервере.

::: info Подробная информация
Для более подробной информации об индексах сервера и их использовании обратитесь к статье
[Индексы сервера](../../persistence/guild-indexes).
:::

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

Это динамический тип, свойствами которого являются соответствующие ключи [записей](guild-index-entry) индекса, если они записаны как
допустимые идентификаторы.

::: warning Внимание
В рамках выполнения одного шаблона сообщения допускается обращение максимум к 2 записям индексов, то есть либо две
записи одного индекса, либо по одной записи из двух разных индексов.
:::

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

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

::: tabs

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

Возвращает или создаёт запись индекса с указанным ключом.

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

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

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

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

```template
{% set entry = guild.getIndex('myIndex').get('entryKey') %}
```

```template
{% set entry = guild.indexes.myIndex.entryKey %}
```

:::

### `update(Записи)` { #method-update .template-method }

::: tabs

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

Обновляет несколько записей индекса за раз (до двух).

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

| Параметр  | Тип                        | Описание                                                                                                                      |
|:----------|:---------------------------|:------------------------------------------------------------------------------------------------------------------------------|
| `Записи`  | \[Карта]<\[Строка], \[Число]> | Ключи карты — ключи значений индекса до 255 символов;Значения карты — соответствующие им значения. |

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

```template
{% do guild.getIndex('myIndex').update({ key1: 1, key2: 2 }) %}
```

```template
{% do guild.indexes.myIndex.update({ key1: 1, key2: 2 }) %}
```

:::

### `getPageOf(Номер, Размер, Сортировка)`  { #method-getpageof .template-method }

::: tabs

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

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

**Возвращаемый тип:** \[Page]<\[GuildIndexEntry]>

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

| Параметр     | Тип      | Описание                                                                                                |
|:-------------|:---------|:--------------------------------------------------------------------------------------------------------|
| `Номер`      | \[Число]  | Номер страницы (отсчёт страниц начинается с 0)                                                          |
| `Размер`     | \[Число]  | Размер страницы (не более 25 элементов)                                                                 |
| `Сортировка` | \[Строка] | Режим сортировки по значениям:`'DESC'` — по убыванию;`'ASC'` или любое иное — по возрастанию. |

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

```template
{% set page = guild.getIndex('myIndex').getPageOf(0, 10, 'DESC') %}
```

```template
{% set page = guild.indexes.myIndex.getPageOf(0, 10, 'DESC') %}
```

:::

### `clearAll()`  { #method-clearall .template-method }

::: tabs

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

Удаляет все записи этого индекса.

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

```template
{% do guild.getIndex('myIndex').clearAll() %}
```

```template
{% do guild.indexes.myIndex.clearAll() %}
```

:::
