Der README behauptete an prominenter Stelle "bewusst kein YouTube". Das stimmt seit vier Commits nicht mehr, und ein Satz, der das Gegenteil des Codes sagt, wird geglaubt. Ersetzt samt der PO-Token-Lage und dem Hinweis auf Cookies und eigene Argumente. .env.example kennt jetzt FFMPEG_PATH und YTDLP_PATH -- mit dem Hinweis, dass YTDLP_PATH=/bin/false der Weg ist, den Fehlerpfad zu pruefen. Beim letzten Durchlesen aufgefallen: `weiter()` holt den naechsten Titel aus der Liste, BEVOR `spielen()` laeuft. Scheitert der Beitritt in den Sprachkanal -- fehlendes Recht, voller Kanal, DAVE --, war der Eintrag weg. Genau im haeufigsten Fall: jemand reiht etwas ein, waehrend der Bot noch gar nicht im Kanal sitzt, der erste Beitritt ist der, der scheitern kann, und der Wunsch verschwindet wortlos. Jetzt wird er wieder ganz vorn eingereiht und der Fehler weitergereicht. Gegenprobe mit einem Kanal, dessen Beitritt garantiert wirft: drei Titel vorher, drei Titel nachher, "Erster" wieder an erster Stelle.
75 lines
2.7 KiB
Bash
75 lines
2.7 KiB
Bash
# Vorlage — nach .env kopieren und Werte eintragen (NIEMALS .env committen!)
|
|
|
|
# Discord Developer Portal → deine App → Bot → "Reset Token"
|
|
DISCORD_TOKEN=
|
|
|
|
# Discord Developer Portal → deine App → General Information → "Application ID"
|
|
DISCORD_CLIENT_ID=
|
|
|
|
# Rechtsklick auf deinen Discord-Server → "Server-ID kopieren" (Entwicklermodus nötig)
|
|
# Optional: wenn gesetzt, sind Slash-Commands sofort verfügbar statt nach bis zu 1h
|
|
DISCORD_GUILD_ID=
|
|
|
|
# --- Devlog-Archiv (Feature 3) ---
|
|
|
|
# Rechtsklick auf den Devlog-Kanal (dort postet der Bot die Devlogs) → "Kanal-ID kopieren"
|
|
DEVLOG_CHANNEL_ID=
|
|
|
|
# Secret für den Devlog-Endpoint — generieren mit:
|
|
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
|
# Im EcoGame-Repo in tools/.devlog_webhook eintragen:
|
|
# https://bot.d4rkst3r.de/webhooks/devlog/<dieser Wert>
|
|
DEVLOG_POST_SECRET=
|
|
|
|
# --- Commit-Feed (Feature 2) ---
|
|
|
|
# Rechtsklick auf den Commit-Kanal → "Kanal-ID kopieren"
|
|
COMMIT_CHANNEL_ID=
|
|
|
|
# Shared Secret für die Webhook-Signatur — generieren mit:
|
|
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
|
# Denselben Wert im Gitea-Webhook als "Secret" eintragen!
|
|
GITEA_WEBHOOK_SECRET=
|
|
|
|
# --- Webinterface (Feature 4) ---
|
|
|
|
# Discord Developer Portal → deine App → OAuth2 → "Client Secret" (ggf. Reset Secret)
|
|
DISCORD_CLIENT_SECRET=
|
|
|
|
# Zufälliger String zum Signieren der Session-Cookies — generieren mit:
|
|
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
|
SESSION_SECRET=
|
|
|
|
# Deine Discord-User-ID (Rechtsklick auf deinen Namen → "Benutzer-ID kopieren")
|
|
# Nur dieser Account sieht die Commit-Seite
|
|
ADMIN_DISCORD_ID=
|
|
|
|
# Öffentliche Basis-URL für den OAuth2-Redirect
|
|
# Lokal zum Testen: http://localhost:3080 (auch im Developer Portal eintragen!)
|
|
PUBLIC_URL=https://bot.d4rkst3r.de
|
|
|
|
# --- Bug-Reports (/bug → Gitea-Issue) ---
|
|
|
|
# Gitea → Einstellungen → Anwendungen → Token erzeugen (Scope: write:issue)
|
|
# Ohne Token ist /bug deaktiviert (Bot läuft trotzdem)
|
|
GITEA_API_TOKEN=
|
|
|
|
# Optional: Gitea-Basis-URL (Default: https://git.d4rkst3r.de)
|
|
# GITEA_URL=https://git.d4rkst3r.de
|
|
|
|
# Optional: HTTP-Port des Webservers (Default: 3080)
|
|
# HTTP_PORT=3080
|
|
|
|
# Optional: Pfad zur SQLite-Datei (Default: ./data/ecobot.db)
|
|
# DB_PATH=./data/ecobot.db
|
|
|
|
# Optional: Pfade zu ffmpeg und yt-dlp fuers Radio (Default: im PATH suchen).
|
|
# Beide stecken im Docker-Abbild und muessen dort nicht gesetzt werden. Lokal
|
|
# ohne Docker ist das der Ort, an dem man sie bekannt macht.
|
|
#
|
|
# Zum Pruefen der Fehlerwege taugt ein Pfad, der nicht abspielt:
|
|
# YTDLP_PATH=/bin/false laesst die Radiosender weiterlaufen und muss im Panel
|
|
# als "yt-dlp fehlt" erscheinen -- nicht als Stille im Sprachkanal.
|
|
# FFMPEG_PATH=ffmpeg
|
|
# YTDLP_PATH=yt-dlp
|