Simple-Bot ist ein Python-basierter Discord- und Twitch-Bot für Streamer-Communities. Er bietet zahlreiche Funktionen rund um Community-Management, Spiele, Zitate, Anime-Features und mehr. Die Architektur ist modular (Cogs), die Konfiguration erfolgt über eine JSON-Datei.
- Discord- und Twitch-Integration
- Umfangreiche Admin- und Community-Kommandos
- Spiele (z.B. Blackjack, Roulette, Higher/Lower)
- Anime- und Zitate-APIs
- Datenbankanbindung (PostgreSQL, SQLAlchemy, Alembic)
- Dropdown-Menüs und interaktive Embeds
- Logging und Fehlerbehandlung
- Python 3.12
- pip
-
Repository klonen:
git clone https://github.com/Simplepianist/Discord_Bot.git cd Discord_Bot -
Virtuelle Umgebung erstellen und aktivieren:
python -m venv venv # Linux/Mac: source venv/bin/activate # Windows: venv\Scripts\activate
-
Abhängigkeiten installieren:
pip install -r requirements.txt
Bearbeite die Datei jsons/config.json und trage dort deine Einstellungen ein:
streamURL: Twitch-Stream-URLinviteLink: Discord-Server-Einladungslinkbotrole: Rolle für Bot-ManagementownerId: Bot-Besitzer-IDwaifuit: API-Key für Anime-Quotestest: Bool für Testzweckeembed: Einstellungen für Embeds
Außerdem muss der Discord-Bot-Token als Umgebungsvariable token gesetzt werden.
| Variable | Beschreibung | Standardwert (falls vorhanden) |
|---|---|---|
token |
Discord-Bot-Token | – |
OWNER_ID |
Discord User-ID des Bot-Besitzers | 325779745436467201 |
NTFY_URL |
URL für ntfy-Benachrichtigungen (optional) | – |
DB_USER |
Datenbank-Benutzername | – |
DB_PASSWORD |
Datenbank-Passwort | – |
DB_HOST |
Datenbank-Host | – |
DB_PORT |
Datenbank-Port | 5432 |
DB_NAME |
Name der Datenbank | – |
waifuit |
API-Key für Anime-Quotes | – |
APPLICATION_ID |
Discord Application ID (für Tests) | 1234567890 (nur in Tests) |
Starte den Bot mit:
python streamer.pyUnit- und Integrationstests befinden sich im tests/-Verzeichnis und können mit pytest ausgeführt werden:
pytestsimplebot.py– Hauptbot-Klassestreamer.py– Einstiegspunktcogs/– Erweiterungsmodule (Cogs)Commands/– KommandosDatabase/– DatenbankzugriffAPI/– Schnittstellen zu externen APIsDropdowns/,View/,Util/– weitere Features
MIT