WOKCommands
Search
⌃K

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:
JavaScript
TypeScript
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);
index.ts
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);