Sometimes you may want to pass in your own options objects to your slash command. This gives you more control over the exact details of your arguments.
add.js
const { ApplicationCommandOptionType } =require("discord.js");const { CommandType } =require("wokcommands");module.exports= { description:"Adds numbers together",// Create a legacy and slash command type:CommandType.BOTH,// An array of// https://discord.js.org/#/docs/discord.js/main/typedef/ApplicationCommandOption options: [ { name:"num1", description:"The first number", type:ApplicationCommandOptionType.Number, required:true, }, { name:"num2", description:"The second number", type:ApplicationCommandOptionType.Number, required:true, }, ],callback: ({ args }) => {constsum=args.reduce((acc, cur) => {return acc +Number(cur); },0);return`The sum is ${sum}`; },};
add.ts
import { ApplicationCommandOptionType } from"discord.js";import { CommandType, CommandObject, CommandUsage } from"wokcommands";exportdefault { description:"Adds numbers together",// Create a legacy and slash command type:CommandType.BOTH,// An array of// https://discord.js.org/#/docs/discord.js/main/typedef/ApplicationCommandOption options: [ { name:"num1", description:"The first number", type:ApplicationCommandOptionType.Number, required:true, }, { name:"num2", description:"The second number", type:ApplicationCommandOptionType.Number, required:true, }, ],callback: (options:CommandUsage) => {const { args } = options;constsum=args.reduce((acc, cur) => {return acc +Number(cur); },0);return`The sum is ${sum}`; },} asCommandObject;
The options array in this code snippet is similar to what WOKCommands will auto generate from the code in Inferred slash command arguments.