swc/crates/swc_bundler/tests/.cache/deno/c9af7fc2cbf21e8ce6fda80b1f611baceff7b48c.ts
2021-11-09 20:42:49 +09:00

25 lines
1.1 KiB
TypeScript

// Loaded from https://deno.land/x/discordeno@11.0.0-rc.2/src/helpers/interactions/commands/upsert_slash_commands.ts
import { applicationId } from "../../../bot.ts";
import { rest } from "../../../rest/rest.ts";
import type { ApplicationCommand } from "../../../types/interactions/commands/application_command.ts";
import type { EditGlobalApplicationCommand } from "../../../types/interactions/commands/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?: bigint) {
options = validateSlashCommands(options);
return await rest.runMethod<ApplicationCommand[]>(
"put",
guildId ? endpoints.COMMANDS_GUILD(applicationId, guildId) : endpoints.COMMANDS(applicationId),
options
);
}