Declares a slash command: its path (up to three words: command, group, subcommand), its arguments as '<name: type>' (wrapped in [ ] when optional), and a trigger that runs when it is used. Every argument is available as '{_name}' and as 'arg-1' / 'user argument' in the trigger.
Entries: description (a text, or a section of 'locale: text' lines with en-US), name (a section of translated names), enabled for (permissions), disabled, nsfw, contexts, integration types, cooldown + cooldown scope + on cooldown, arguments (per argument: a description, or a section with description, choices and 'on completion request'), trigger.
Declaring 'slash command mod ban' and 'slash command mod kick' gives one '/mod' command with two subcommands; a 'slash command mod:' without trigger describes the root. Nothing is sent to Discord: register the result from 'on ready' / 'on guild ready' with 'update the discord commands (all structured application commands) in ...'.
Declares a user or message context-menu command (Apps > name when right-clicking a user or a message) and the trigger that runs when it is used: 'target user' / 'target message' give what was clicked.
Entries: name (a section of translated names), enabled for, disabled, nsfw, contexts, integration types, cooldown + cooldown scope + on cooldown, trigger. The name may contain spaces and capitals.
Nothing is sent to Discord: register it with 'update the discord commands (all structured application commands) in ...' from 'on ready' / 'on guild ready'.