Discord Bot JS
🤖 A modular Discord bot built with Discord.js v14 and Node.js. Includes slash commands, a guild event logging system, and automated role assignment.
نبذة
README.md
المحتويات
🤖 discord-bot-tutorial
A modular Discord bot built with Discord.js v14 and Node.js.
⚡ Slash commands · 📋 Guild event logging · 🎭 Automated role assignment
🧠 About
This project is a hands-on Discord bot built to learn discord.js v14 in practice — no boilerplate generators, no all-in-one frameworks, just modular code you can read top to bottom. It's structured the way a small production bot would be: event handlers, slash commands, and a lightweight database are all auto-loaded and organized by category, so adding a new feature usually means dropping in a single file rather than editing a giant index.js.
🚀 Deploy
Want to try it without setting it up locally? Deploy it in one click as a community template on Bot-Hosting.net:
✨ Features
- ⚡ Slash commands — modular, auto-loaded from
slashcommands/ - 🎭 Autorole — automatic role assignment for users/bots on join, with role-hierarchy and admin-permission safety checks
- 📋 Guild logging — channel and role create/update/delete, message delete/bulk delete/update
- 🚫 Blacklist system — block users from using the bot with reason, evidence, and automatic expiration
- 🎵 Music — Lavalink-powered music playback via
moonlink.js - 🗃️ Local JSON database — lightweight file-based storage per guild
📦 Requirements
- 🟢 Node.js
22 - 🤖 A Discord bot application (Discord Developer Portal)
🛠️ Setup
1. Clone the repository and install dependencies:
git clone https://github.com/choco-latito29/discord-bot-tutorial.git
cd discord-bot-tutorial
npm install
2. Copy the example environment file and fill in your bot token:
cp .env.example .env
TOKEN=your_bot_token_here
3. Run the bot:
npm start -s
🗂️ Project structure
📁 Events/ Event listeners (client, guild, interaction, logging)
📁 handlers/ Dynamic loaders for events and slash commands
📁 slashcommands/ Slash commands, grouped by category
📁 database/ Local JSON-based storage
💬 Support
Need help or found a bug? Check SUPPORT.md or join the support server.
🔒 For security-related concerns, please follow the process in SECURITY.md instead of opening a public issue.
📄 License
MIT — see LICENSE.
كيف تنشره
- 1 افتح صفحة النشرسمِّ نشرك. تسجّل الدخول عند التأكيد.
- 2 املأ متغيراتهالقيم التي يطلبها القالب، وتُحفظ كمتغيرات بيئة لنشرك.
- 3 تحقق من مواردكيسحب من المجموعة المشتركة لخطتك ثم يعمل. كل حساب يبدأ مجانًا.