✨ Modern, open-source Discord bot built with discord.js v14 and Prisma ORM ✨
- ✅ slash commands powered by
discord.js - ⚡️ dynamic loading of commands, events, buttons & select menus
- 🕒 cron jobs for scheduled tasks
- 🏆 giveaway system & support system
- 🗂 layered architecture with Prisma & built-in utilities
src/
├─ buttons/ # buttons interactions (giveaway, order, support)
├─ commands/ # slash commands (dev, giveaway, public)
├─ crons/ # scheduled tasks (giveaway checks)
├─ events/ # discord events
├─ selectMenus/ # select menu interactions
├─ utils/ # helpers (logger with winston, database with prisma, cron)
├─ DiscordBot.js # main bot client
└─ start.js # entry point
git clone https://github.com/mccormickk/rikka.git
cd rikka
npm installcreate a .env file:
DISCORD_TOKEN=your_discord_token_herenpm run startrun with production
// src/commands/public/ping.js
module.exports = {
name: "ping",
description: "Ping-pong!",
func: async (interaction) => {
await interaction.reply("🏓 Pong!");
}
};
// src/buttons/support/open.js
module.exports = {
name: "open",
type: "support",
func: async (interaction) => {
await interaction.reply({ content: "🎫 support ticket opened!", flags: 64 }); // flags: 64 (ephemeral)
}
};
// src/crons/check_giveaway.js
module.exports = {
time: '* * * * *',
active: 1,
func: async () => {
console.log("[CRON] checking active giveaways...");
}
};npm run devrun with auto-reload using nodemon.
