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:
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);import { Client, IntentsBitField, Partials } from "discord.js";
import path from "path";
import WOK from "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
Was this helpful?
