UNPKG

@tryforge/forgescript

Version:

ForgeScript is a comprehensive package that empowers you to effortlessly interact with Discord's API. It ensures scripting remains easy to learn and consistently effective.

88 lines 3.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const discord_js_1 = require("discord.js"); const structures_1 = require("../../structures"); const components_1 = require("../../functions/components"); exports.default = new structures_1.NativeFunction({ name: "$editOption", version: "1.4.0", description: "Edits a select menu option", unwrap: true, brackets: true, args: [ { name: "name", description: "The option name", rest: false, required: true, type: structures_1.ArgType.String }, { name: "new name", description: "The new option name", rest: false, required: true, type: structures_1.ArgType.String, }, { name: "description", description: "The description for this option", rest: false, type: structures_1.ArgType.String, required: false, }, { name: "value", description: "The value to use for this option", rest: false, required: true, type: structures_1.ArgType.String, }, { name: "emoji", description: "The emoji to use for this option", type: structures_1.ArgType.String, rest: false, }, { name: "default", description: "Whether to set this option as default", rest: false, type: structures_1.ArgType.Boolean, }, ], execute(ctx, [old, name, desc, value, emoji, def]) { for (let i = 0, len = ctx.container.components.length; i < len; i++) { const comp = ctx.container.components[i]; const comps = comp instanceof discord_js_1.ContainerBuilder ? comp.components.map((x) => (0, components_1.buildComponent)(x.toJSON())) : ("components" in comp ? comp.components : undefined); if (!comps) continue; for (let n = 0, len = comps.length; n < len; n++) { const row = comps[n]; const menu = row instanceof discord_js_1.ActionRowBuilder ? row.components[0] : row; if (menu instanceof discord_js_1.StringSelectMenuBuilder) { const index = menu.options.findIndex(x => x.data.label === old); if (index !== -1) { const option = menu.options[index]; option.setLabel(name); if (value) option.setValue(value); if (emoji) option.setEmoji((0, discord_js_1.parseEmoji)(emoji)); if (desc) option.setDescription(desc); if (typeof def === "boolean") option.setDefault(def); if (comp instanceof discord_js_1.ContainerBuilder) comp.spliceComponents(n, 1, new discord_js_1.ActionRowBuilder().addComponents(menu)); return this.success(); } } } } return this.success(); }, }); //# sourceMappingURL=editOption.js.map