Bot owner only commands
Some commands should only be available to the bot owners. A perfect example of this is a "status" command that updates the status of your bot. WOKCommands comes with this capability.
Here is how your command file should be setup:
const { CommandType } = require("wokcommands");
const setStatus = (client, status) => {
client.user?.setPresence({
status: "online",
activities: [
{
name: status,
type: ActivityType.Playing,
},
],
});
};
module.exports = {
description: "Sets the bot's status",
type: CommandType.BOTH,
minArgs: 1,
expectedArgs: "<status>",
ownerOnly: true,
callback: ({ client, text }) => {
setStatus(client, text);
return {
content: `Set status to "${text}"`,
};
},
};
Whenever we initialize WOKCommands we can pass in any number of IDs for the owner's Discord accounts:
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,
commandsDir: path.join(__dirname, "commands"),
botOwners: ["Your_ID_Here"]
});
});
client.login(process.env.TOKEN);
Last updated
Was this helpful?