Команды
Команда - событие взаимодействия пользователя с ботом. А для бота команда - единица функционала. Каждая команда выполняет определённое действие и приводит к результату. Можете относиться к командам как к функциям “сделай X”.
Синтаксис
Заголовок раздела «Синтаксис»По По сути команда это такое же событие, как например новое сообщение. Только у команд есть пара отличий. Для начала бот знает, что обращаются именно к нему. И в добавок команды имеют чёткую структуру:
/hello user:@user
/: Префикс, с которого начинается команда. Как обращение к боту.hello: Название команды (функции), что показывает боту что надо сделать.user:@user: Дополнительные аргументы команды, что меняют поведение.
Немного про традиционные обозначения:
<name>: Обязательный аргумент с именемname.[amount]: Необязательный аргумент. Если его не указать, будет использоваться значение по умолчанию.
У обязательных аргументов строго определённый порядок.
Аргументы
Заголовок раздела «Аргументы»Аргументы команды довольно важная часть. Именно они позволяют делать команды более гибкими. Давайте на примере:
Вы хотите добавить новую песню в плеер. Чтобы добавить это песню, вы передаёте ссылку/её имя как аргумент команды. Бот внутри функции-обработчика обработчика получает все переданные аргументы и уже может работать с ними.
Аргументы могут быть разных типов, начиная от простых строковых и числовых, заканчивая пользователями и каналами.
Для аргументов команды можно добавить варианты выбора и авто дополнение. Вы могли видеть авто дополнение, если вводили в аргументах пользователей, роли или каналы, для этих аргументов дискорд автоматические предоставляет авто дополнение.
Подкоманды
Заголовок раздела «Подкоманды»Помимо простых команд, также существуют и группы команд с подкомандами. Несколько команд можно объединить в одну группу.
Вот вам пара примеров:
/player info/player statusИли:
/tags set/tags list/tags reset/tags ...Без использования группы команд, они бы выглядели так:
/player_status./tags_addили/add_tags.
Мало того, что это решает путаницу и приводит к некоторому единому виду, так ещё и сам Discord будет подсказывать о всех командах, что есть в группе.