---
url: https://docs.juniper.bot/cmd/custom/actions.md
description: >-
  Действия используются для выполнения каких-либо операций в ответ на вызов
  команды или компонента.
---

# Действия

Действия используются для выполнения каких-либо операций в ответ на вызов команды или взаимодействие с [компонентами](../../../message-templates/components/index).

Действия являются частью [Пользовательских команд](../index).

## Интерфейс настроек { #interface }

У каждого действия вне зависимости от её типа есть определенный набор общих настроек:

![action](action.png)

* **Название действия** — название действия для отображения во вкладке и в списках выбора действия;
* **Тип действия** — выбор типа действия, подробное описание которых вы найдете в подразделах;
* **Иконка mdi-dots-vertical** — меню действия, позволяет получить информацию о действии (уникальный идентификатор) и создать дубликат;
* **Краткое описание** — краткое описание действия, которое отображается в списках выбора действия;
* **Переопределить права доступа** — включение этого параметра потребует проверки определённых прав доступа к этому действию в дополнение прав доступа самой команды.

::: tip UUID
UUID — уникальный идентификатор действия, который можно использовать в расширенной функциональности [шаблонов сообщений](../../../message-templates/advanced/index).
:::

## Типы действий { #action-types }

1. **[Отправка сообщения](message)** — на запуск такого действия бот отправит сообщение.
2. **[Диалоговое окно](modal-form)** — на запуск такого действия бот ответит всплывающим окном с полями ввода для получения каких-либо данных от участника в удобном интерфейсе.
3. **[Изменение ролей](change-roles)** — на запуск такого действия бот снимет или выдаст указанные в настройках действия роли. По умолчанию роли изменяются тому участнику, кто вызвал действие командой или компонентом.
4. **[Встроенная команда](internal)** — запуск такого действия запустит встроенную команду, указанную в поле шаблона. Например, если вы создадите команду с именем `я`, а в шаблоне действия напишете `юзер`, вызов команды `!я` будет аналогичен вызову встроенной команды `!юзер`.
5. **[Выполнение кода шаблона](code)** — запуск такого действия просто выполнит указанный в шаблоне код и ответит стандартным сообщением об успешном выполнении операции. Данный тип действия полезно использовать для [запуска других действий](#action-run) в зависимости от каких-либо условий.

## Запуск одного действия из другого { #action-run }

Если вы продвинутый пользователь, способный справиться с расширенными возможностями [шаблонов сообщений](../../../message-templates/advanced/index),
Вы можете использовать тег [`run`](../../../message-templates/advanced/tags#run) для запуска одного действия из другого.
Как это делается подробно описано [здесь](../../../message-templates/advanced/tags#run).

## Параметры { #parameters }

Во все шаблоны действия передаётся переменная [`parameters`](../../../message-templates/types/custom-commands/parameters),
которая используется для передачи каких-либо данных между действиями. Например, для передачи данных из действия отправки
сообщения в действия, назначенные на [компоненты этого сообщения](../../../message-templates/components/index), или в другие [запускаемые действия](#action-run).

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