# Pixelpöbel Discord Bot Ein moderner, modularer und erweiterbarer Discord-Bot, entwickelt mit TypeScript und `discord.js`. ## 🚀 Features - **TypeScript-Basis:** Volle Typsicherheit für stabilen Code. - **Modulare Architektur:** Automatisches Laden von Commands und Events. - **Twitch-Integration:** Überwachung von Streamern mit Live-Benachrichtigungen (Thumbnail, Titel, Zuschauer). - **Datenpersistenz:** SQLite-Datenbank für Einstellungen, Verwarnungen und Statistiken. - **Admin-Tools:** Umfangreiche Moderations- und Twitch-Management-Befehle. - **Owner-Konsole:** Exklusive Befehle zur Bot-Verwaltung, Server-Übersicht und DM-Tracking. - **Docker-Ready:** Einfache Bereitstellung mit Docker & Docker Compose. ## 🛠 Installation 1. **Abhängigkeiten installieren:** ```bash npm install ``` 2. **Konfiguration:** Erstelle eine `.env` Datei im Hauptverzeichnis (nutze `.env.example` als Vorlage): ```env DISCORD_TOKEN=dein_bot_token CLIENT_ID=deine_client_id TWITCH_CLIENT_ID=deine_twitch_id TWITCH_CLIENT_SECRET=dein_twitch_secret ``` 3. **Commands registrieren:** Bevor der Bot gestartet wird (oder wenn neue Befehle hinzugefügt wurden), müssen die Slash-Commands bei Discord registriert werden: **Lokal:** ```bash npm run deploy ``` **Über Docker (wenn der Container bereits gebaut wurde):** ```bash docker-compose run --rm pixelpoebel-bot npm run deploy ``` ## 🎮 Befehle (Auszug) ### Moderation & Utility - `/help`: Zeigt alle verfügbaren Befehle (angepasst an Rechte). - `/ping`: Testet die Latenz. - `/kick`: Kickt einen Nutzer (Admin). - `/warn`: Verwarnt einen Nutzer (Admin). - `/trigger`: Verwaltet automatische Antworten (Admin). - **Kontextmenü:** Rechtsklick auf Nachricht -> Apps -> "Als Trigger speichern" (Admin). ### Twitch **Für alle Nutzer:** - `/twitch online `: Prüft sofort, ob ein Streamer online ist. - `/twitch list`: Zeigt überwachte Streamer für den aktuellen Kanal an. **Nur für Administratoren:** - `/twitch add`: Streamer für den aktuellen Kanal hinzufügen. - `/twitch remove`: Streamer aus der Überwachung entfernen. - `/twitch listall`: Alle überwachten Streamer des Servers anzeigen. - `/twitch interval`: Prüf-Intervall einstellen (2-30 Min). ### Owner (Nur Bot-Besitzer) - `/deploy`: Aktualisiert Befehle direkt aus Discord. - `/stats`: Zeigt System- und Nutzungsstatistiken. - `/servers`: Liste aller Server, auf denen der Bot ist. - `/leave`: Bot einen Server verlassen lassen. - `/dmusers`: Liste aller Nutzer, die den Bot privat angeschrieben haben. ## 🐳 Docker ```bash docker-compose up -d --build ``` ## 📄 Lizenz MIT