All checks were successful
Auto Build and Push Docker Image / build (push) Successful in 19s
Pixelpöbel Discord Bot
Ein moderner, modularer Discord-Bot in TypeScript.
🚀 Installation
npm install
⚙️ Konfiguration
Erstelle .env Datei:
DISCORD_TOKEN=dein_bot_token
CLIENT_ID=deine_client_id
TWITCH_CLIENT_ID=deine_twitch_id
TWITCH_CLIENT_SECRET=deine_twitch_secret
TWITCH_USERNAME=dein_twitch_username
TWITCH_OAUTH_TOKEN=oauth:xxxxxxxxxxxxxxxxxx
BOT_OWNER_ID=deine_discord_user_id
# Optional: Automatische Slash-Command Registrierung bei Bot-Start (default: true)
AUTO_DEPLOY=true
TwitchMonitor Setup
- Twitch OAuth Token holen: https://chatterino.com/client_login
- Username: Dein Twitch Username
- Bot Owner ID: Deine Discord User ID (für Fehlerbenachrichtigungen)
⚠️ Hinweis: Der Twitch OAuth Token kann ungültig werden. In diesem Fall wirst du automatisch per Discord DM benachrichtigt.
🚀 Start
# Development
npm run dev
# Production
npm run build
npm start
🐳 Docker
# Build und Start
docker-compose up -d --build
# Logs ansehen
docker-compose logs -f pixelpoebel-bot
# Stoppen
docker-compose down
# Container neu bauen
docker-compose up -d --build --force-recreate
📋 Commands registrieren
Befehle werden standardmäßig automatisch bei jedem Bot-Start registriert. Du kannst dies über AUTO_DEPLOY=false in der .env deaktivieren.
Für manuelle Updates oder im Notfall:
npm run deploy
🎮 Befehle
Öffentlich
/ping– Latenz test/help– Alle Befehle/twitch online <channel>– Twitch-Status/twitch list– Überwachte Kanäle/twitch help– Twitch-Hilfe/timer list– Timer dieses Kanals/timer help– Timer-Hilfe/trigger list– Alle Trigger anzeigen/trigger help– Trigger-Hilfe
Timer (Erinnerungen)
/timer add <zeit> <nachricht>– Timer hinzufügen/timer remove <id>– Timer entfernen (Mod)/timer list– Timer dieses Kanals/timer listall– Alle Timer (Mod)/timer help– Timer-Hilfe
Trigger (Auto-Antworten)
/trigger add <wort> <antwort>– Trigger hinzufügen (Mod)/trigger remove <wort>– Trigger entfernen (Mod)/trigger list– Alle Trigger anzeigen/trigger help– Trigger-Hilfe
Twitch
/twitch online <kanal>– Prüft ob Kanal online ist/twitch add <streamer1, streamer2, ...>– Streamer überwachen (Mod)/twitch remove <streamer1, streamer2, ...>– Streamer entfernen (Mod)/twitch list– Überwachte Kanäle/twitch listall– Alle überwachten Streamer (Mod)/twitch help– Twitch-Hilfe
TwitchMonitor (IRC Chat Logging)
/twitchmonitor add <twitch> <discord>– Twitch-Kanal zum IRC-Monitoring hinzufügen (Mod)/twitchmonitor remove <twitch>– Kanal vom Monitoring entfernen (Mod)/twitchmonitor list– Alle überwachten Twitch-Kanäle/twitchmonitor help– Hilfe anzeigen
Rollen-Auswahl
/rolesetup create <#kanal> <name>– Rollen-Auswahl Message erstellen/rolesetup add <kategorie> <@rolle> [emoji]– Rolle zur Auswahl hinzufügen/rolesetup edit <kategorie> <rolle> [neues_emoji]– Emoji ändern/rolesetup remove <kategorie> <rolle>– Rolle entfernen/rolesetup delete <kategorie>– Kategorie löschen/rolesetup config <kategorie> max:1 exclusive:true– Einstellungen/rolesetup list– Alle Kategorien anzeigen
Admin
/admin kick <user>– Nutzer kicken/admin warn <user> <reason>– Nutzer verwarnen/admin unwarn <user>– Letzte Warnung entfernen/admin mute <user> <dauer> <einheit>– Nutzer muten/admin unmute <user>– Nutzer entmuten/admin ban <user>– Nutzer bannen/admin unban <id>– Nutzer entbannen/admin purge amount <1-100>– X Nachrichten löschen/admin purge time <dauer> <min|hour>– Nachrichten der letzten X Zeit löschen/admin purge user <user> <1-100>– X Nachrichten eines Nutzers löschen/admin purge all– Alle Nachrichten löschen (max 100)/admin config– Warn-System konfigurieren/admin help– Admin-Hilfe
Owner
/owner deploy– Commands neu registrieren/owner stats– Bot-Statistiken/owner servers– Alle Server/owner help– Owner-Hilfe
📡 Features & Optimierungen
- ✅ Modular Architecture: TypeScript-basiert, ESM-Unterstützung, strikte Typisierung.
- ✅ High Performance Database: SQLite mit WAL-Modus, Fremdschlüssel-Unterstützung und chirurgischem In-Memory Caching für Guild-Settings und Trigger.
- ✅ Optimized Twitch Polling: Nutzt Batch-Requests (100 Kanäle pro Request), Datenbank-Transaktionen und ein 2-Minuten-Intervall für zeitnahe Benachrichtigungen.
- ✅ TwitchMonitor IRC: Echtzeit IRC Chat-Logging (Mod-Events) via wiederverwendbaren Webhooks und FIFO-Cache.
- ✅ Advanced Moderation: Warn-System mit Auto-Actions, umfangreiches Purge-System.
- ✅ Role Selection: Self-Service Rollen-System über Discord Select Menus.
- ✅ Reminders: Intelligentes Zeit-Parsing (z.B. "morgen 15:00", "30min").
- ✅ Event Logging: Detaillierte Erfassung von Server-Ereignissen.
- ✅ Docker Support: Containerisiertes Deployment inklusive Volume-Mounts für Daten.
Description
Languages
TypeScript
99.9%
Dockerfile
0.1%