Skip to content

An over dramatic discord bot that is like a class clown but in the form of a discord automod bot :)

Notifications You must be signed in to change notification settings

developer51709/dramatic-discord-automod

Repository files navigation

🌙 Dramatic Discord Bot

A modular, event‑driven, fully asynchronous Discord bot built with discord.py 2.x, designed for dramatic flair, clean architecture, and easy self‑hosting.
Created by Nyxen, and the list of message/response lines were made by Microsoft Copilot.


✨ Features

🎭 Dramatic Personality

This bot reacts to messages, events, and commands with theatrical flair.
From ellipses to emoji spam to mysterious typing behavior — it notices everything.

🧩 Modular Cog Architecture

Every feature is isolated into its own cog:

  • core_events — unified message/event dispatcher
  • moderation — banned words, spam detection, link blocking
  • messages — edit/delete reactions, attachment detection
  • chaos — dramatic triggers, typing detection, ellipsis reactions
  • info — botinfo, serverinfo, userinfo
  • error_handler — global command error handling + CSV audit logs
  • help — fully custom dramatic help command

🛠️ Clean Async Cog Loading

Uses modern Discord.py 2.x async extension loading with detailed color‑coded console logs.

📜 Custom Dramatic Help Command

Replaces the default help system with:

  • Full command index
  • Per‑cog help
  • Per‑command help
  • Auto‑generated descriptions for missing help text

📊 Error Logging & Auditing

All command errors are:

  • Shown to the user with dramatic messages
  • Logged to console with colorama
  • Saved to logs/command_errors.csv for clean auditing

🧠 Intelligent Event Handling

A single dispatcher cog (core_events) routes:

  • on_message
  • on_message_edit
  • on_message_delete
  • on_typing

to any cog that implements the corresponding handler.
This keeps the bot scalable and prevents command‑breaking conflicts.


📦 Installation

1. Clone the Repository

git clone https://github.com/developer51709/dramatic-discord-automod.git
cd dramatic-discord-automod

2. Create a Virtual Environment (Recommended)

python -m venv venv
source venv/bin/activate   # Linux/macOS
venv\Scripts\activate      # Windows

3. Install Dependencies

pip install -r requirements.txt

4. Configure the Bot

Create a config.py file in the project root if it does not already exist:

TOKEN = "YOUR_BOT_TOKEN_HERE"
PREFIX = "!"

5. Enable Required Intents

In the Discord Developer Portal:

  • Enable Message Content Intent
  • Enable Server Members Intent
  • Enable Presence Intent (optional)

6. Run the Bot

python bot.py

🗂️ Project Structure

dramatic-discord-automod/
│
├── bot.py                 # Main entry point with banner + async cog loader
├── config.py              # Token + prefix
├── requirements.txt       # Dependencies
├── logs/
│   └── command_errors.csv # Auto-generated error audit log
│
├── cogs/
│   ├── help.py            # Dramatic help command
│   ├── core_events.py     # Unified event dispatcher
│   ├── moderation.py      # Moderation triggers
│   ├── messages.py        # Edit/delete/attachment reactions
│   ├── chaos.py           # Dramatic message triggers
│   ├── info.py            # botinfo/serverinfo/userinfo
│   └── error_handler.py   # Global command error handling
│
└── utils/
    └── loader.py          # JSON line loader for dramatic responses

🧪 Self‑Hosting Notes

Logging

All command errors are logged to:

logs/command_errors.csv

This file is safe to delete; it will be recreated automatically.

Adding New Cogs

Drop a .py file into /cogs and it will load automatically on startup.

Adding New Message Triggers

Any cog can implement:

async def handle_message(self, message):
    ...

and it will be called automatically by core_events.py.

Adding New Event Handlers

Supported handlers:

  • handle_message
  • handle_edit
  • handle_delete
  • handle_typing

Just define them in your cog — no registration needed.


🧙 Commands Overview

General

Command Description
!help Dramatic help menu
!help <command> Detailed command info
!botinfo Info about the bot
!serverinfo Info about the server
!userinfo [member] Info about a user
!roll Roll a dice
!flip Flip a coin

Moderation

Automatic triggers:

  • Banned words
  • Blocked links
  • Caps abuse
  • Emoji spam
  • Mass pings
  • Spam bursts

Chaos & Fun

  • Ellipsis detection
  • Question detection
  • Lurker detection
  • Typing‑but‑stops detection
  • Dramatic reactions to greetings

🤝 Contributing

Pull requests are welcome!
If you want to add new dramatic triggers, commands, or cogs, feel free to open an issue or PR.


📜 License

This project is released under the MIT License.
You are free to modify, distribute, and self‑host the bot.


🌙 Credits

  • Developer: Nyxen
  • Framework: discord.py 2.x
  • Language: Python 3.10+

💬 Final Notes

This bot is designed to be:

  • Easy to understand
  • Easy to extend
  • Easy to self‑host
  • Dramatic by default

If you build something cool with it, feel free to share!

About

An over dramatic discord bot that is like a class clown but in the form of a discord automod bot :)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages