WOKCommands
Search…
⌃K

Custom slash command arguments

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.
JavaScript
TypeScript
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 }) => {
const sum = 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";
​
export default {
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;
​
const sum = args.reduce((acc, cur) => {
return acc + Number(cur);
}, 0);
​
return `The sum is ${sum}`;
},
} as CommandObject;
The options array in this code snippet is similar to what WOKCommands will auto generate from the code in Inferred slash command arguments.