Skip to content

WIZARDOF-OZ/AIO-Discord-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIO-Bot

A comprehensive, high-performance Discord utility bot built with Discord.js v14.

Node.js Discord.js MongoDB ESLint License

Table of Contents


About the Project

AIO-Bot is an all-in-one Discord application designed to streamline server management and enhance user engagement. Built on the modern Discord.js v14 framework, it provides a robust suite of tools encompassing moderation, detailed server telemetry, entertainment features, and developer utilities.

Whether utilizing Discord's modern Application Commands (Slash Commands) or traditional Prefix Commands, AIO-Bot delivers a highly responsive and modular experience.


Core Features

  • Hybrid Command Infrastructure: Seamlessly supports both Slash Commands (/) and customizable Prefix Commands (=).
  • Comprehensive Moderation: A complete suite for managing server integrity, including timeouts, bans, channel locks, and a robust warning system.
  • Persistent Storage: Leverages MongoDB via Mongoose for persistent state management and data storage.
  • Advanced Event Logging: Automatically tracks and logs critical server events, including member joins, moderation actions, and channel state mutations.
  • Developer & Owner Utilities: Includes modular command hot-reloading, an integrated JavaScript evaluation console, and system diagnostic readouts.

Architecture & Tech Stack

AIO-Bot is built with scalability and maintainability in mind, utilizing standard industry practices:

  • Runtime: Node.js (v18+)
  • Library: Discord.js (v14) for Discord API interactions.
  • Database: MongoDB with Mongoose for Object Data Modeling (ODM).
  • Linting: ESLint configured for strict code quality enforcement.
  • Environment Management: Dotenv for secure configuration injection.

Getting Started

Prerequisites

Before running AIO-Bot, ensure you have the following installed and configured:

Installation

  1. Clone the repository:

    git clone https://github.com/WIZARDOF-OZ/AIO-Discord-Bot.git
    cd AIO-Discord-Bot
  2. Install dependencies:

    npm install
  3. Configure the environment: Create a .env file in the root directory based on .env.example:

    TOKEN=your-discord-bot-token
    MONGO_URI=mongodb://user:password@cluster-url...
    client_id=your-application-client-id
    guildId=your-test-server-id

    (Note: If utilizing MongoDB Atlas, ensure you disable the SRV toggle if experiencing local DNS resolution issues, as documented).

  4. Register Application Commands: Deploy the slash commands to your Discord server:

    npm run cmd
  5. Initialize the Application:

    npm run start

    (For active development, utilize npm run dev to enable nodemon auto-restarting).


Configuration

Core bot behavior can be modified within src/config.js:

module.exports = {
    owners: ["YOUR_DISCORD_ID"], // Array of user IDs with owner privileges
    prefix: "=",                 // Default prefix for classic commands
    // ...additional configurations
};

Command Reference

View Slash Commands (/)
Category Command Description
Info /help Display the interactive command list.
/userinfo Show detailed member profile information.
/serverinfo Show server statistics and settings.
/roleinfo Show role properties and permissions.
Fun /avatar Get a user's avatar in high resolution.
/roll Roll dice and return the results.
/ping Check the bot's websocket latency.
/meme, /joke Fetch random entertainment media.
Moderation /ban, /kick Remove users from the server.
/timeout Temporarily restrict a member's access.
/lock, /unlock Manage channel read/write permissions.
/warn Add a warning to a user's database record.
Utility /botinfo Show bot uptime, memory usage, and server counts.
/reload Hot-reload a command without restarting the application.
/eval Evaluate raw JavaScript code (Owner only).
View Prefix Commands (=)
Category Command Description
Fun =ping Ping the bot.
=avatar Retrieve a user's avatar.
=8ball Ask the magic 8-ball a question.
Moderation =purge Bulk delete messages in a channel.
=slowmode Configure the slowmode of a channel.
Developer =reload Hot-reload specific systems.

Contributing

Contributions, issues, and feature requests are welcome. If you wish to contribute to the codebase:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/NewFeature)
  3. Commit your Changes (git commit -m 'Add NewFeature')
  4. Push to the Branch (git push origin feature/NewFeature)
  5. Open a Pull Request

Quality Assurance: Please ensure that any submitted code passes the existing linting rules. Run npm run lint before committing your changes.


License

Distributed under the MIT License. See LICENSE for more information.

About

All in One Discord Bot made by using Discord.JS version 14. It has many features from mod-logs to regular commands and slash commands. Many more soon

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages