Skip to content

Repository files navigation

Lady Seraphine — Imperial Moderator Bot

A Discord administration bot for the Empire of EmptyBrains kingdom-fantasy server.

Features

Moderation (sudo prefix)

  • sudo ban/kick/timeout/untimeout/purge @user -m "reason" — standard moderation actions
  • sudo warn @user -m "reason" — issue warnings (3 warnings = auto-ban)
  • sudo warn -rm @user [all] — remove latest or all warnings
  • sudo warnings @user — view warning history
  • sudo blacklist <word> — add/remove blacklisted words (-m for reason, -rm to remove)
  • sudo role4mod add/remove <role> — manage moderator roles
  • sudo usermod -a @user — grant trusted-user bypass of role4mod checks
  • sudo snipe — retrieve deleted messages
  • sudo setserverinfo — configure server info

Divine Judgement

  • sudo judgement -m "reason" -t "minutes" — open a public judgement with anonymous testimony
  • sudo judgement end <id> / sudo judgement verdict <id> <text> — close and verdict
  • Auto-concludes after the specified duration

Appeal System

  • On ban/warn, the bot DMs the user with a Request Appeal button
  • User fills a modal (3 questions) and submits
  • Admin reviews in the command-log channel with Revoke Ban/Timeout/Warn and Reject buttons
  • Verdict DM is sent back to the user (with rejoin invite if ban revoked)

Faction System (/faction)

  • /faction create <name> <description> <role> — create a faction
  • /faction join/invite/leave/disband — manage membership
  • /faction list/info/rank — browse factions
  • /faction quest/quest-complete — faction quests

Slash Commands

  • /help, /ping, /avatar, /userinfo, /serverinfo, /afk, /snipe
  • /setchannel — configure command-log and chat-log channels
  • /rank, /level — leveling system
  • /about, /about-server

Auto-Moderation

  • Blacklisted word filtering with rate limiting (4 violations in 10s = 1min timeout)
  • Warning at 3rd violation

Fun Commands

  • sudo apt update/upgrade/install/remove — simulated package manager
  • sudo help — Imperial-themed help

Leveling

  • Activity-based XP gain
  • /rank and /level to track progress

Music (unloaded by default)

  • Queue-based playback with voice state management

Setup

  1. Copy .env and configure:

    • DISCORD_TOKEN — your bot token
    • GUILD_ID — server ID for slash command sync
    • BOT_NAME, DATABASE_PATH, LOG_DIR, etc.
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the bot:

    python main.py

Database

Uses SQLite (database.db by default). Tables are auto-created on first run: warnings, role4mod, mod_roles, afk, command_log_channel, chat_log_channel, blacklisted_words, server_info, factions, faction_members, faction_quests, user_levels, chat_messages, trusted_users, faction_invites, judgements, judgement_responses, appeals

About

Discord Moderation Bot for the Empire of EmptyBrains

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages