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

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