Files
discordeno/src/helpers/commands/upsert_slash_commands.ts
T
ITOH 96d26605ca f
2021-04-06 22:25:26 +02:00

28 lines
934 B
TypeScript

import { applicationId } from "../../bot.ts";
import { rest } from "../../rest/rest.ts";
import { EditGlobalApplicationCommand } from "../../types/interactions/edit_global_application_command.ts";
import { endpoints } from "../../util/constants.ts";
import { validateSlashCommands } from "../../util/utils.ts";
/**
* Bulk edit existing slash commands. If a command does not exist, it will create it.
*
* **NOTE:** Any slash commands that are not specified in this function will be **deleted**. If you don't provide the commandId and rename your command, the command gets a new Id.
*/
export async function upsertSlashCommands(
options: EditGlobalApplicationCommand[],
guildId?: string,
) {
validateSlashCommands(options);
const result = await rest.runMethod(
"put",
guildId
? endpoints.COMMANDS_GUILD(applicationId, guildId)
: endpoints.COMMANDS(applicationId),
options,
);
return result;
}