UNPKG

discord-bot-cli

Version:

An easy way to build a command-based discord bot with discord.js.

42 lines (41 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeCommand = void 0; const array_1 = require("../utils/array"); /** * Generate command data. * @param name Name of the command. * @param definition Definition of the command. */ function makeCommand(name, definition) { const subs = {}; // eslint-disable-line @typescript-eslint/no-explicit-any for (const key in definition.subs) { subs[key] = makeCommand(key, definition.subs[key]); } for (const k in definition.args) { const t = definition.args[k].type; if (Array.isArray(t)) t.sort(sortParsableType); } for (const k in definition.flags) { const t = definition.flags[k].type; if (Array.isArray(t)) t.sort(sortParsableType); } if (definition.rest && Array.isArray(definition.rest.type)) definition.rest.type.sort(sortParsableType); if (definition.clientPermissions) definition.clientPermissions = array_1.distinct(definition.clientPermissions); return { def: definition, name, subs, }; } exports.makeCommand = makeCommand; /** @internal */ const parsableOrderer = ["guild channel", "channel", "integer", "float", "string"]; /** @internal */ function sortParsableType(a, b) { return parsableOrderer.indexOf(a) - parsableOrderer.indexOf(b); }