Skip to content

Quadstronaut/QuadstroNot

Repository files navigation

QuadstroNot Discord Bot

A modular Discord bot for community servers with GitHub notifications, reminders, polls, and server management features.

QuadstroNot is a Python Discord bot built on discord.py with a cog-based plugin architecture. It integrates with GitHub to track and notify on repository activity, manages server welcome messages and reminders, runs interactive polls, and provides audit logging to moderation channels. All configuration is environment-variable driven, with SQLite persistence via aiosqlite.

Stack/Tech

  • Language: Python 3.12
  • Framework: discord.py >= 2.3
  • Database: SQLite (aiosqlite)
  • Deployment: Docker + Docker Compose
  • Intents: Message content, members, voice states, presences

Usage

  1. Environment Setup: Copy .env.example to .env and populate required variables:

    • DISCORD_TOKEN — Bot token from Discord Developer Portal
    • GITHUB_USERNAME — GitHub account to track for notifications
    • MOD_LOG_CHANNEL_ID, WELCOME_CHANNEL_ID, GITHUB_NOTIFY_CHANNEL_ID — Discord channel IDs for respective features
    • Optional: WELCOME_MESSAGE, GITHUB_POLL_INTERVAL
  2. Run:

    docker-compose up

    Or directly: pip install -r requirements.txt && python bot.py

  3. Commands (prefix !):

    • !poll "Question" "Option 1" "Option 2" ... — Create reaction-based polls
    • !remind <duration> <message> — Set a reminder
    • !reminders / !cancelremind — Manage reminders
    • !lastpush — Query last GitHub push
    • !serverinfo / !userinfo — Server/user details
    • Auto-responses and welcome messages configured via environment

Project Structure

QuadstroNot/
├── bot.py              # Entry point, cog loader, global error handling
├── cogs/               # Plugin modules (github, polls, reminders, welcome, etc.)
├── db/                 # SQLite abstraction layer
├── docker-compose.yml  # Multi-container setup
├── Dockerfile          # Python 3.12 slim build
└── requirements.txt    # Dependencies (discord.py, aiosqlite)

About

QuadstroNot - A Discord utility bot

Resources

Stars

Watchers

Forks

Contributors