Validation setup

There are two types of validations:

  • Runtime validations

    • Ran against a command when it is used

    • Should return a true or false for if the command should be ran

    • You must provide any error messages if need be

    • Arguments:

      • command: Command

      • usage: CommandUsage

      • prefix: string

  • Syntax validations

    • Ran against every command when your bot starts up

    • Should throw an error if the syntax for your command is wrong

    • Arguments:

      • command: Command

Here is an example of setting up your validations in your main file:

index.js
const { Client, IntentsBitField, Partials } = require("discord.js");
const path = require("path");
const WOK = require("wokcommands");
require("dotenv/config");

const client = new Client({
  intents: [
    IntentsBitField.Flags.Guilds,
    IntentsBitField.Flags.GuildMessages,
    IntentsBitField.Flags.DirectMessages,
    IntentsBitField.Flags.MessageContent,
  ],
  partials: [Partials.Channel],
});

client.on("ready", () => {
  console.log("The bot is ready");

  new WOK({
    client,
    mongoUri: process.env.MONGO_URI || "",
    commandsDir: path.join(__dirname, "commands"),
    validations: {
      // Where your runtime validation folder is
      runtime: path.join(__dirname, "validations", "runtime"),
      // Where your syntax validation folder is
      syntax: path.join(__dirname, "validations", "syntax"),
    },
  });
});

client.login(process.env.TOKEN);

Last updated