Skip to content
notsopreetyPublic

About

A simple but functional Discord Bot inspired with Goat-Bot-V2 but made by Samir Badaila with Discord.js in nodejs.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

41 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– RentoBot - Advanced Discord Bot

Version Node Discord.js License

Views

A powerful, modular Discord bot inspired by Goat-Bot-V2 with advanced features, economy system, and interactive commands.

Features โ€ข Installation โ€ข Documentation โ€ข Support


๐Ÿ“‹ Table of Contents


๐ŸŒŸ Overview

RentoBot is a production-ready Discord bot built with Node.js and Discord.js v14, featuring a modular architecture similar to Goat-Bot-V2. It provides a comprehensive suite of features including economy system, leveling, AI integration, anime/manga lookup, music streaming, moderation tools, and an administrative web dashboard.

Why RentoBot?

  • โœ… Modular Architecture: Easy to extend and customize
  • โœ… Production-Ready: Built-in error handling, logging, and monitoring
  • โœ… Database Caching: Optimized MongoDB operations with in-memory caching
  • โœ… Dual Command Support: Both prefix and slash commands
  • โœ… Web Dashboard: Real-time bot management and statistics
  • โœ… Security First: Environment variables and secure credential management
  • โœ… Auto-Maintenance: Scheduled restarts and cache clearing

โœจ Features

๐ŸŽฎ Core Features

  • Dual Command System: Support for both prefix (!command) and slash commands (/command)
  • 90+ Commands: Comprehensive command library covering all major categories
  • 6 Event Handlers: Custom event system for guild and member events
  • Interactive UI: Buttons, select menus, modals, and pagination
  • OnReply System: Conversation-based command flows
  • Auto-Detection: Automatically syncs guild data and member counts

๐Ÿ’ฐ Economy & Leveling

  • Complete Economy System: Bank, daily rewards, work, rob, transfer, shop
  • XP & Leveling: Message-based XP gain with customizable level-up messages
  • Custom Rank Cards: Canvas-based rank cards with user personalization
  • Leaderboards: Global and server-specific leaderboards
  • Inventory System: Item collection and management

๐Ÿค– AI & Automation

  • AI Features:
    • ๐ŸŽ™๏ธ Voice responses with 6 different voice models
    • ๐ŸŽจ Advanced image generation with 4 variations
    • ๐Ÿ”„ Regeneration and voice selection options
    • ๐ŸŒ Multi-language translation support

๐Ÿ“บ Entertainment & Media

  • AniList Integration: Search anime/manga with premium dropdown menus
  • Anime Streaming: Multi-server streaming with Hindi dubbed content
  • YouTube Command: Rich metadata display and video search
  • Spotify Integration: Track information and playback
  • Image Generation: AI-powered image creation
  • Games: Quiz, Tic-Tac-Toe, Slot machine

๐Ÿ› ๏ธ Administration

  • Web Dashboard:
    • Real-time bot statistics
    • User and guild management
    • Command analytics
    • System monitoring
    • Authentication system
  • Advanced Permissions: Three-tier role system (Users, Mods, Admins)
  • Access Control:
    • Admin-only mode (restrict bot to admins)
    • Admin-guild mode (restrict to specific servers)
  • Error Notifications: Automatic error reporting to admin channels
  • Moderation Tools: Ban, kick, mute, warn, clear messages

๐Ÿ“Š Analytics & Monitoring

  • Command Statistics: Track usage of all commands
  • Message Tracking: Server-wide message counts
  • User Statistics: Per-user command and message analytics
  • System Metrics: CPU, memory, uptime monitoring
  • Error Logging: Production-ready error notification system

๐Ÿ“ฆ Prerequisites

Before installing RentoBot, ensure you have:

  • Node.js: Version 20.x or higher
  • MongoDB: Running instance or MongoDB Atlas account
  • Discord Bot Token: From Discord Developer Portal
  • Discord Application: With Message Content Intent enabled
  • Git: For cloning the repository (optional)

Required Discord Intents

Enable these intents in Discord Developer Portal > Bot section:

  • โœ… Presence Intent
  • โœ… Server Members Intent
  • โœ… Message Content Intent

๐Ÿš€ Quick Start

1. Clone the Repository

git clone https://github.com/notsopreety/Rento-Bot.git
cd Rento-Bot

2. Configure Environment

Option A: Using config.json (Recommended)

Edit config.json with your credentials:

{
  "discord": {
    "token": "your_discord_bot_token_here",
    "clientId": "your_application_client_id",
    "clientSecret": "your_application_client_secret"
  },
  "database": {
    "mongodbUri": "your_mongodb_connection_string"
  },
  "bot": {
    "prefix": "!",
    "adminBot": ["your_discord_user_id"]
  },
  "dashboard": {
    "enabled": true,
    "port": 5000,
    "sessionSecret": "your_secure_random_secret",
    "username": "admin",
    "password": "your_secure_password"
  }
}

Option B: Using .env file (Optional)

For additional security, create a .env file (environment variables override config.json):

# Discord Configuration
DISCORD_BOT_TOKEN=your_discord_bot_token_here
DISCORD_CLIENT_ID=your_application_client_id
DISCORD_CLIENT_SECRET=your_application_client_secret

# Database Configuration
MONGODB_URI=your_mongodb_connection_string

# Bot Configuration
BOT_PREFIX=!
BOT_ADMIN_ID=your_discord_user_id

# Dashboard Configuration (optional)
DASHBOARD_PORT=5000
DASHBOARD_SESSION_SECRET=your_secure_random_secret
DASHBOARD_USERNAME=admin
DASHBOARD_PASSWORD=your_secure_password

3. Install Dependencies

npm install

4. Start the Bot

npm start

๐ŸŽ‰ Your bot is now online! Visit http://localhost:5000 to access the dashboard.


๐Ÿ“š Documentation

For detailed documentation, please refer to:

  • DOCS.md: Complete feature documentation and API reference
  • STEP_INSTALL.md: Detailed step-by-step installation guide
  • SETUP.md: Environment configuration and security guide

Quick Links


๐ŸŽฏ Command Categories

Category Commands Description
๐ŸŽฎ Fun quiz, tictactoe, slot, emojimix Interactive games and entertainment
๐Ÿ’ฐ Economy balance, daily, work, rob, shop Complete economy system
๐Ÿ“Š Leveling rank, leaderboard, setexp XP and ranking system
๐Ÿ›ก๏ธ Moderation ban, kick, mute, warn, clear Server moderation tools
โš™๏ธ Config setprefix, config, greeting Server configuration
๐Ÿค– AI talk, imagine, translate, gptoss AI-powered features
๐Ÿ“บ Media anime, anilist, youtube, spotify Entertainment search
โ„น๏ธ Info help, botinfo, serverinfo, ping Bot and server information
๐Ÿ‘‘ Admin eval, shell, restart, onlyadmin Bot administration

๐Ÿ”ง Configuration

Admin-Only Mode

Restrict bot usage to administrators:

!onlyadmin on

Admin-Guild Mode

Restrict bot to specific servers (any channel within those servers):

!onlyadminbox on

Configure admin guilds in config.json:

{
  "bot": {
    "onlyadminchannel": true,
    "adminChannels": [
      {
        "guildId": "YOUR_GUILD_ID",
        "channelId": "YOUR_CHANNEL_ID"
      }
    ]
  }
}

Error Notifications

Enable automatic error logging to admin channels:

{
  "bot": {
    "logErrorAdminChannels": true
  }
}

๐ŸŒ Dashboard

Access the web dashboard at http://localhost:5000:

  • Public Dashboard: Bot statistics, command list, features
  • Admin Panel: /admin - User management, guild settings, analytics
  • Authentication: Configured via environment variables

Dashboard Features

  • ๐Ÿ“Š Real-time bot statistics
  • ๐Ÿ‘ฅ User and guild management
  • ๐Ÿ“ˆ Command usage analytics
  • ๐Ÿ’ป System resource monitoring
  • ๐ŸŽจ Modern responsive design
  • ๐Ÿ“ฑ Mobile-friendly interface

๐Ÿค Support

Need help? Here's how to get support:


๐Ÿ›ก๏ธ Security

โš ๏ธ IMPORTANT: Never commit your .env file or expose credentials!

  • โœ… Use environment variables for all sensitive data
  • โœ… Rotate tokens if accidentally exposed
  • โœ… Keep dependencies updated
  • โœ… Enable 2FA on Discord account
  • โœ… Use secure MongoDB connection strings

See SETUP.md for security best practices.


๐ŸŽจ Customization

RentoBot is highly customizable:

  • Commands: Add new commands in scripts/commands/
  • Events: Create event handlers in scripts/events/
  • Dashboard: Customize views in dashboard/views/
  • Presence: Modify activities in utils/presenceManager.js
  • Rank Cards: Customize design in scripts/commands/rankcard.js

๐Ÿ“ Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments


๐Ÿ“Š Project Stats

  • 90+ Commands: Comprehensive command library
  • 6 Event Handlers: Custom event system
  • 31+ Activities: Dynamic presence rotation
  • 3-Tier Permissions: Flexible access control
  • Web Dashboard: Real-time management
  • Production-Ready: Error handling and monitoring

Made with โค๏ธ by Samir Badaila

โญ Star this repo โ€ข ๐Ÿ› Report Bug โ€ข โœจ Request Feature

About

A simple but functional Discord Bot inspired with Goat-Bot-V2 but made by Samir Badaila with Discord.js in nodejs.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages