- 🟦 Typescript
- 💧 Drizzle ORM
- ✔️ Zod Validation
- 🔥 Slash commands (supports auto complete!)
- ✉️ Message commands
- 🕛 Cooldowns
- 🏴 Detailed Permissions
- 💪 Event & Command handlers
- 🐶 Husky hooks
- Clone the repository then create a file named
.env
and fill it out accordingly (see.env.example
)
TOKEN=BOT TOKEN
CLIENT_ID=BOTS CLIENT ID
PREFIX=.
DATABASE_URL=YOUR DB CONNECTION STRING
- Install the packages and dependencies by running the following command:
$ pnpm install
- Compile your TypeScript code to JavaScript by running the following command:
$ pnpm run build
- Once the build is complete it will generated a folder named
dist
that contains compiled version of your ts code to js. You can run the following command in your terminal to run the project:
$ pnpm run start
To run in development mode, you can run the following command in your terminal:
$ pnpm run dev
- Create your schemas in
src/db/schemas
see Drizzle Docs for more info. - Generate your migrations based on your schemas by running the following command:
$ pnpm run db:generate
- Push your schema changes directly to the database by running the following command:
$ pnpm run db:push
- (Optional) Run Drizzle Kit studio to manage your database by running the following command(see Drizzle Kit Studio Docs for more info.):
$ pnpm run db:studio
Big Props to MericcaN41 for the discord.js v14 template that I used as a base for this template.
- Drizzle - 🔥 ORM
- Zod - 🔥 validation library
- Discord.js - 🔥 discord library