Skip to content

128bytes8/systemd-aio-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

systemd

systemd

An advanced all-in-one Discord bot for server management, protection, engagement, and monetization.


What is systemd?

systemd is a feature-packed Discord bot built from the ground up to handle everything your server needs β€” moderation, anti-nuke protection, welcome/goodbye greetings, starboard, giveaways, leveling, music, auto-moderation, temporary voice channels, bump reminders, roleplay commands, AI-powered content generation, and more. It's also designed to support a built-in premium subscription system with crypto payments via NOWPayments, so you can self-host and charge users for access to premium AI features.

The bot auto-installs its own dependencies and runs great on Pterodactyl panels or any standard Python environment.


Features

πŸ›‘οΈ Moderation

  • Kick / Ban / Unban β€” Standard moderation with role hierarchy checks and DM notifications
  • Timeout / Untimeout β€” Discord native timeout with human-friendly duration parsing (1h, 30m, 2d, etc.)
  • Warn / Warnings / Clearwarns β€” Full warning system stored in the database with per-user history
  • Purge β€” Bulk message deletion with optional user filter (up to 500 messages)
  • Slowmode β€” Set channel slowmode from 0–21600 seconds
  • Lock / Unlock β€” Lock channels by revoking send permissions (configurable target role via env vars)

πŸ›‘οΈ Anti-Nuke

  • Real-time detection and punishment for mass bans, kicks, channel deletions, role deletions, and webhook spam
  • Configurable thresholds per action type (e.g. 3 bans in 10 seconds triggers punishment)
  • Punishment options: ban, kick, or strip (remove all roles)
  • Whitelist trusted users from triggering anti-nuke
  • Full audit-log-based detection

πŸ€– AutoMod / Filtering

  • Add filtered words with exact match, wildcard (*, ?), or regex patterns
  • Automatically deletes messages containing filtered content
  • Ignore specific channels or roles from filtering
  • Users with Manage Messages permission bypass filters

πŸ“ Auto-Responder

  • Create automatic replies triggered by specific messages
  • Supports placeholders: {user}, {server}, {channel}, {membercount}, etc.
  • Manage triggers per-guild with add / remove / list / view / clear

πŸ‘‹ Welcome & Goodbye (Greetings)

  • Customizable welcome and goodbye messages per channel
  • Rich placeholder support: {user}, {user.name}, {server}, {membercount}, etc.
  • Test your messages before going live with ,welcome test and ,goodbye test

⭐ Starboard

  • Showcase the best messages in a dedicated channel
  • Configurable star emoji, threshold count, and target channel
  • Auto-updates star counts on the starboard when reactions change
  • Doesn't count the message author's own reaction

πŸ”” Bump Reminders

  • Listens for Disboard bumps and sends a reminder ping after the 2-hour cooldown
  • Configurable reminder channel, role ping, and message text
  • Background task checks every minute

🎁 Giveaways

  • Quick start (giveaway 1h Nitro) or advanced (gw start 1d 3 Nitro) creation
  • React-to-enter with πŸŽ‰ β€” auto-picks random winners when time runs out
  • Supports multiple winners, early ending, rerolling, canceling, and listing active giveaways
  • All giveaways persist through bot restarts via the database

πŸ“Š Leveling

  • Members earn 5–15 XP per message (randomized)
  • Check your level with ,levels and see the server leaderboard with ,levels leaderboard

πŸŽ™οΈ VoiceMaster (Temporary Voice Channels)

  • Automatic setup: creates a "Join to Create" channel and category
  • Members join the trigger channel β†’ bot creates a private voice channel for them
  • Channel owners can: lock, unlock, rename, set user limit, permit/reject users, change bitrate, transfer ownership
  • Channels are automatically deleted when empty

🎡 Music

  • Play music from YouTube via yt-dlp with queue, skip, pause, resume, loop, volume, and now playing
  • Per-guild player instances with automatic 5-minute idle disconnect
  • Loop toggles for single-track repeat

🎡 AI Music Generation (Premium)

  • Generate songs via the Suno API with ,musicgen <prompt>
  • Supports custom lyrics, music style tags, and instrumental mode
  • Integrated hCaptcha solving via 2Captcha when needed
  • Premium subscription required

πŸ’Ž Premium & Payments

  • Built-in payment system via NOWPayments β€” accept BTC, LTC, ETH, XMR, USDC
  • Monthly ($9.99) and yearly ($99.99) plans (fully customizable)
  • Automatic payment polling β€” the bot checks for confirmed transactions every 5 minutes and activates subscriptions
  • Premium-gated commands: Uncensored AI chat, text-to-image, text-to-video, image-to-video, video editing, image editing
  • Owner command ,addpremium @user 30d for manual grants
  • You can configure your own pricing, payment provider, and even resell access to the bot

πŸ–ΌοΈ AI Image & Video Generation (Premium)

  • text2image β€” Generate images from text prompts via Fal.ai
  • text2video β€” Generate videos from text with configurable aspect ratios
  • image2video β€” Animate an uploaded image into video
  • editimage / editvideo β€” Edit uploaded media with AI
  • uncensoredai β€” Chat with an uncensored AI model

🎭 Roleplay

  • 50+ anime-style roleplay commands with GIF support (hug, kiss, pat, slap, cuddle, poke, etc.)
  • GIFs fetched from the Otaku API

πŸ–ΌοΈ Media Manipulation

  • deepfry, grayscale, invert, blur, pixelate β€” Image/GIF filters
  • meme β€” Top/bottom text meme generator
  • Works with attachments, replies, recent images, or URLs

πŸ”§ Utility

  • avatar β€” Get anyone's avatar in full resolution
  • userinfo / serverinfo β€” Detailed user and server information
  • weather β€” Real-time weather by city, state, country, or coordinates

πŸ“Œ Sticky Messages

  • Pin a persistent message to a channel that re-posts itself at the bottom after new messages
  • Add, remove, edit, list, and view sticky messages
  • Built-in cooldown to prevent rate-limiting

πŸ”’ Counters

  • Create voice channels that display live stats: members, humans, bots, boosters, roles, channels
  • Auto-updates on member join/leave, role create/delete, and channel changes

πŸ’Ž Booster Tracking

  • boosters β€” Paginated list of all server boosters sorted by boost date
  • boostcount β€” Server boost stats and progress to next level
  • boostleaderboard β€” Top 10 longest-boosting members

βœ… Verification

  • Post a verification message β€” members react with βœ… to receive the verified role and lose the unverified role
  • Role IDs configured via environment variables

πŸ“‹ Server Configuration

  • Prefix β€” Set server-wide or personal prefix with ,prefix set and ,prefix self
  • Logging β€” Full audit logging for messages, members, moderation, roles, and channels
  • Settings β€” Configure modlog, jail channel, mute role, staff role, joinlog, welcome/goodbye channels, and autorole
  • Ignore β€” Ignore specific users, channels, or roles from bot commands entirely
  • Invoke β€” Customize punishment DM/response messages for kick, ban, mute, warn, jail, and hardban
  • Aliases β€” Create custom command shortcuts per server
  • Autorole β€” Auto-assign roles to members on join

πŸŽ‰ Fun

  • uwu β€” Uwuify any text
  • define β€” Get both standard dictionary and Urban Dictionary definitions
  • rps β€” Rock-paper-scissors against the bot

πŸ“Ί YouTube Notifications

  • Monitor YouTube channels for new uploads via RSS
  • Ping a role in a Discord channel when a video drops
  • Checks every 10 minutes

πŸ”§ Developer / Admin

  • reload β€” Hot-reload any cog without restarting the bot (owner only)
  • jishaku β€” Debug shell loaded automatically if available
  • about β€” Bot info embed

Quick Start

Prerequisites

  • Python 3.10+
  • FFmpeg installed and on your PATH (required for music playback)
  • A Discord bot token

1. Clone the repo

git clone https://github.com/yourusername/systemd-bot.git
cd systemd-bot

2. Set up environment variables

Copy the example env file and fill in your values:

cp .env.example .env

Open .env and add your bot token at minimum:

DISCORD_TOKEN=your_discord_bot_token_here

See Environment Variables below for the full list.

3. Run the bot

python bot.py

The bot will automatically install all dependencies from requirements.txt on startup β€” this is designed for ephemeral hosting environments like Pterodactyl. If you're running locally and prefer to install manually:

pip install -r requirements.txt
python bot.py

4. Invite the bot

Generate an invite link from the Discord Developer Portal with the following permissions:

  • Administrator (recommended), or individually select: Manage Roles, Manage Channels, Kick Members, Ban Members, Manage Messages, Read Message History, Send Messages, Use External Emojis, Add Reactions, Connect, Speak, Move Members, Manage Webhooks, View Audit Log, Moderate Members

Environment Variables

Variable Required Description
DISCORD_TOKEN βœ… Your Discord bot token
VERIFIED_ROLE_ID ❌ Role ID granted on verification
UNVERIFIED_ROLE_ID ❌ Role ID removed on verification
MEMBER_ROLE_ID ❌ Role targeted by ,lock / ,unlock (falls back to @everyone)
NOWPAYMENTS_API_KEY ❌ NOWPayments API key for crypto payments
UNCENSORED_AI_KEY ❌ API key for the uncensored AI feature
FAL_KEY ❌ Fal.ai API key for AI image/video generation
SUNO_COOKIE ❌ Suno session cookie for AI music generation
TWOCAPTCHA_KEY ❌ 2Captcha key for solving Suno captchas

Default Prefix

The default prefix is , (comma). You can change it per-server:

,prefix set !

Or set a personal prefix that follows you across all servers:

,prefix self !

Project Structure

systemd-bot/
β”œβ”€β”€ bot.py                 # Entry point β€” bot class, prefix logic, startup
β”œβ”€β”€ requirements.txt       # Python dependencies
β”œβ”€β”€ .env.example           # Template environment variables
β”œβ”€β”€ assets/
β”‚   └── logo.png           # Bot logo
β”œβ”€β”€ data/
β”‚   └── systemd.db         # SQLite database (auto-created)
β”œβ”€β”€ cogs/
β”‚   β”œβ”€β”€ alias.py           # Command aliases
β”‚   β”œβ”€β”€ antinuke.py        # Anti-nuke protection
β”‚   β”œβ”€β”€ automod.py         # Word filtering / automod
β”‚   β”œβ”€β”€ autoresponder.py   # Auto-reply triggers
β”‚   β”œβ”€β”€ boosters.py        # Booster tracking
β”‚   β”œβ”€β”€ bump.py            # Disboard bump reminders
β”‚   β”œβ”€β”€ config.py          # Logging & ignore system
β”‚   β”œβ”€β”€ counter.py         # Live stat counters
β”‚   β”œβ”€β”€ embed.py           # Embed builder & manager
β”‚   β”œβ”€β”€ fun.py             # Fun commands
β”‚   β”œβ”€β”€ general.py         # General / utility commands
β”‚   β”œβ”€β”€ giveaways.py       # Giveaway system
β”‚   β”œβ”€β”€ greet.py           # Welcome & goodbye messages
β”‚   β”œβ”€β”€ help.py            # Paginated help menu
β”‚   β”œβ”€β”€ invoke.py          # Custom punishment messages
β”‚   β”œβ”€β”€ leveling.py        # XP & leveling system
β”‚   β”œβ”€β”€ media.py           # Image/GIF manipulation
β”‚   β”œβ”€β”€ misc.py            # AFK system & misc
β”‚   β”œβ”€β”€ moderation.py      # Moderation commands
β”‚   β”œβ”€β”€ music.py           # YouTube music player
β”‚   β”œβ”€β”€ music_gen.py       # AI music generation (Suno)
β”‚   β”œβ”€β”€ premium.py         # Premium system & AI features
β”‚   β”œβ”€β”€ prefix.py          # Prefix management
β”‚   β”œβ”€β”€ roles.py           # Role management & autorole
β”‚   β”œβ”€β”€ rp.py              # 50+ roleplay commands
β”‚   β”œβ”€β”€ settings.py        # Guild settings
β”‚   β”œβ”€β”€ social.py          # YouTube upload notifications
β”‚   β”œβ”€β”€ starboard.py       # Starboard
β”‚   β”œβ”€β”€ stickymessage.py   # Sticky messages
β”‚   β”œβ”€β”€ utility.py         # Avatar, user/server info, weather
β”‚   β”œβ”€β”€ verify.py          # Reaction-based verification
β”‚   └── voicemaster.py     # Temporary voice channels
└── utils/
    └── database.py        # SQLite database wrapper

Monetization / Payments

systemd comes with a fully functional premium subscription system out of the box. It uses NOWPayments to accept cryptocurrency payments (BTC, LTC, ETH, XMR, USDC), but you're free to swap in any payment provider you want.

How it works:

  1. A user runs ,buy month or ,buy year
  2. The bot creates a payment via the NOWPayments API and sends them a crypto address + amount
  3. A background task polls NOWPayments every 5 minutes for payment confirmations
  4. Once confirmed, the user's premium subscription is automatically activated and they're DM'd a confirmation
  5. Premium commands (AI image/video generation, uncensored AI, music generation) are gated behind an active subscription

You can customize pricing, supported currencies, subscription durations, and which commands require premium. The bot owner can also manually grant premium with ,addpremium @user 30d.

This means you can self-host systemd and run it as a paid service. Set your own prices, plug in your own NOWPayments (or Stripe, PayPal, etc.) keys, and charge users for premium features.


Hosting

systemd is built to run anywhere:

  • Pterodactyl β€” The bot auto-detects Pterodactyl's Python environment and patches sys.path accordingly. Dependencies auto-install on every boot.
  • VPS / Dedicated Server β€” Just clone, set up .env, and run python bot.py.
  • Docker β€” Wrap it in a simple Python 3.10+ container with FFmpeg installed.

Dependencies

All dependencies are listed in requirements.txt and auto-installed on bot startup:

  • discord.py β€” Discord API wrapper
  • aiosqlite β€” Async SQLite for the database
  • python-dotenv β€” .env file loader
  • jishaku β€” Debug/eval cog for bot owners
  • aiohttp β€” Async HTTP client
  • Pillow β€” Image processing for media commands
  • humanfriendly β€” Human-readable formatting
  • fal-client β€” Fal.ai SDK for AI generation
  • openai β€” OpenAI-compatible API client
  • yt-dlp β€” YouTube audio extraction for music
  • PyNaCl β€” Voice encryption for music playback
  • feedparser β€” RSS feed parsing
  • 2captcha-python β€” Captcha solving for Suno

Contributing

Pull requests are welcome. If you're adding a new cog, just drop it in the cogs/ folder and it'll be auto-loaded on the next restart. Make sure to create any necessary database tables in your cog's setup() function.


License

This project is provided as-is. Feel free to self-host, modify, and monetize it however you want.

About

An advanced all-in-one Discord bot

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

No contributors

Languages