Next generation discord bot template
A discord.js bot template powered by TypeScript and a local database.
DJSKit is a template to make your own discord bots. DJSKit uses discord.js v14 with a local json key-value database, to make it easy for you to get started.
DJSKit was a private thing at first, as I didn't want to write a handler everytime I made a new discord bot.
I've been working on DJSKit for the past 3 years, as I started making discord bots. Since then, I've always been working on features. I'm pretty sure DJSKit has same features that you've never seen anywhere else.
- Slash Commands Handler - Automatic registration and execution of Discord slash commands with full TypeScript support
- Message Commands Handler - Traditional prefix-based commands with flexible argument parsing
- Interactive Components & Arguments - Advanced button and modal interactions with sophisticated parameter / arguments system
- Event Handling System - Modular event system supporting both one-time and recurring events
- Local JSON Database - Built-in DotDB integration for persistent data storage without external dependencies
- Custom Prefix Support - Commands can define their own prefixes (e.g.,
$,!,>) independently
- TypeScript Support - Full TypeScript implementation with strict typing and modern ES2021 features
- Error Handling & Logging - Comprehensive error catching with chalk-colored console output
- Guild/Global Command Deploy - Configurable deployment to specific servers or globally across Discord
- Status Rotations - Automatic bot presence updates with customizable rotation intervals
- Node.js (v16 or higher)
- Discord Application with Bot Token
- Basic knowledge of TypeScript/JavaScript
-
Clone the repository
git clone https://github.com/NZ-Linix/djskit.git cd djskit -
Install dependencies
npm install
-
Configure environment
cp .env.example .env
Edit
.envto add your Discord bot token:CLIENT_TOKEN = "[ YOUR CLIENT TOKEN HERE ]"
-
Configure bot settings Edit
src/config.tsto customize:- Guild ID (for testing commands in specific server)
- Message command prefix
- Status rotations
npm startor
tsx .Alternatively, on UNIX operating systems you can use the start.sh via sh start.sh