LVHandler is a discord command/event handler. It is very easy to use and makes it easy to create commands and events. It also automatically integrates the files in the command/event folder you specify into your bot. You can better understand what I have explained with the following examples.
Install NPM Package:
npm install lvhandler
Setup LVHandler:
index.ts
import { Client, Events, IntentsBitField } from "discord.js";
import LVHandler from "lvhandler";
import path from "path";
const client = new Client({ intents: [/* Your Intents */] })
client.on(Events.ClientReady, () => {
new LVHandler({
client: client, // Your client instance
commandDir: path.join(__dirname, "Commands"), // Bots command dir.
eventDir: path.join(__dirname, "Events"), // Bots event dir.
autoDelete: true, // Auto delete slash command when file not exists.
defaultPrefix: "!" // Default prefix for non-slash (regular) commands.
})
})
client.login("TOKEN")
Command Creation:
Commands/ping.ts
import { LVCommand } from "lvhandler";
import { TypeOfCommand } from "lvhandler";
export default {
description: "Replies With Pong.", // Command Description.
type: TypeOfCommand.SLASH, // Command Type. (BOTH, SLASH, REGULAR)
options: [], // Command Options.
execute: async ({ interaction }) => {
if (!interaction) return
await interaction.reply({ content: "Pong!" })
}
} as LVCommand
Event Creation:
Events/replyToHi.ts
import { Events } from "discord.js";
import { LVEvent } from "lvhandler";
export default {
execute: (client) => {
client.on(Events.MessageCreate, async (message) => {
if (message.content.toLowerCase() === "hi") {
await message.reply("Hi!")
}
})
}
} as LVEvent