Перейти к содержанию

Пользовательские команды

Вы можете создавать свои команды, которые могут выполнять определенные действия.


Пользовательские команды (кастомные команды) создаются и настраиваются в панели управления сервера во вкладке с названием "Команды". Любую пользовательскую команду можно отключить при необходимости и настроить необходимые права доступа аналогично встроенным командам бота.


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

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

custom

Интерфейс настроек команды
  • Команда — имя команды, по которому она будет вызываться в Discord;

  • Действие командыдействие по умолчанию, которое будет выполнено для этой команды;

  • Краткое описание — просто краткое описание данной команды, которое отображается в списке пользовательских команд, а также в справке самого бота в Discord;

  • Права доступа и выполнение — описывает права доступа к команде по ролям, каналам, типу каналов и как часто можно вызывать команду (кулдаун);

  • Контекстные меню — позволяет включить и настроить вызов этой команды по нажатию пункта в контекстном меню в Discord;

  • Слэш-команда — позволяет включить и настроить эту команду как слэш-команду, более подробно описано в разделе Слэш-команда.


Контекстные меню#

Вызов действия пользовательской команды можно осуществить по нажатию пункта контекстного меню участника или сообщения:

  • В случае контекстного меню сообщения, шаблон действия получает экземпляр этого сообщения в переменной message;
  • В случае контекстного меню участника, шаблон действия получает экземпляр этого участника в arguments.targetMember;

Ограничения

Контекстные меню имеют некоторые ограничения:

  1. Максимум 5 пунктов контекстных меню сообщения;

  2. Максимум 5 пунктов контекстных меню участника.


Слэш-команда#

Пользовательская команда может быть включена как Слэш-команда с возможностью использования параметров и даже разделения на подкоманды. Интерфейс настроек слэш-команды интуитивно понятен и не требует пояснения.

Все указанные участником параметры слэш-команды передаются в действие пользовательской команды как часть переменной arguments.

Для получения нужного параметра следует использовать следующий синтаксис:

{{ arguments.getOption('имя_параметра') }}

Кроме этого, можно получить список всех параметров определённого типа:

{{ arguments.getOptionsByType('MEMBER') }}

Более подробно в описании типа данных Arguments.

Ограничения

Слэш-команды имеют некоторые ограничения:

  1. Все ограничения, описанные в общем разделе Слэш-команд;

  2. Корневая слэш-команда может содержать либо параметры, либо подкоманды, но не вместе;

  3. Максимум 25 параметров на корневую команду или подкоманду;

  4. Максимум 25 подкоманд;

  5. Максимум 25 вариантов выбора для параметров строк или чисел;

  6. Максимум 100 пользовательских команд с включенной слэш-командой.


Горячие клавиши#

В диалоге создания или редактирования пользовательской команды можно использовать горячие клавиши:

  • Сtrl+S — быстрое сохранение команды;

  • F11 — переход в полноэкранный режим активного поля шаблона сообщения.