Пользовательские команды
Вы можете создавать свои команды, которые могут выполнять определенные действия.
Пользовательские команды (кастомные команды) создаются и настраиваются в панели управления сервера во вкладке с названием "Команды". Любую пользовательскую команду можно отключить при необходимости и настроить необходимые права доступа аналогично встроенным командам бота.
Интерфейс настроек#
У каждой команды есть определенный набор общих настроек:
-
Команда — имя команды, по которому она будет вызываться в Discord;
-
Действие команды — действие по умолчанию, которое будет выполнено для этой команды;
-
Краткое описание — просто краткое описание данной команды, которое отображается в списке пользовательских команд, а также в справке самого бота в Discord;
-
Права доступа и выполнение — описывает права доступа к команде по ролям, каналам, типу каналов и как часто можно вызывать команду (кулдаун);
-
Контекстные меню — позволяет включить и настроить вызов этой команды по нажатию пункта в контекстном меню в Discord;
-
Слэш-команда — позволяет включить и настроить эту команду как слэш-команду, более подробно описано в разделе Слэш-команда.
Контекстные меню#
Вызов действия пользовательской команды можно осуществить по нажатию пункта контекстного меню участника или сообщения:
- В случае контекстного меню сообщения, шаблон действия получает экземпляр этого сообщения в переменной
message
; - В случае контекстного меню участника, шаблон действия получает экземпляр этого участника в
arguments.targetMember
;
Ограничения
Контекстные меню имеют некоторые ограничения:
-
Максимум 5 пунктов контекстных меню сообщения;
-
Максимум 5 пунктов контекстных меню участника.
Слэш-команда#
Пользовательская команда может быть включена как Слэш-команда с возможностью использования параметров и даже разделения на подкоманды. Интерфейс настроек слэш-команды интуитивно понятен и не требует пояснения.
Все указанные участником параметры слэш-команды передаются в действие пользовательской команды как часть переменной arguments
.
Для получения нужного параметра следует использовать следующий синтаксис:
{{ arguments.getOption('имя_параметра') }}
Кроме этого, можно получить список всех параметров определённого типа:
{{ arguments.getOptionsByType('MEMBER') }}
Более подробно в описании типа данных Arguments.
Ограничения
Слэш-команды имеют некоторые ограничения:
-
Все ограничения, описанные в общем разделе Слэш-команд;
-
Корневая слэш-команда может содержать либо параметры, либо подкоманды, но не вместе;
-
Максимум 25 параметров на корневую команду или подкоманду;
-
Максимум 25 подкоманд;
-
Максимум 25 вариантов выбора для параметров строк или чисел;
-
Максимум 100 пользовательских команд с включенной слэш-командой.
Горячие клавиши#
В диалоге создания или редактирования пользовательской команды можно использовать горячие клавиши:
-
Сtrl+S
— быстрое сохранение команды; -
F11
— переход в полноэкранный режим активного поля шаблона сообщения.