Files
d4rkbot/.env.example
T
D4rkst3r e165402f7d Dokumentation nachziehen -- und einen verlorenen Wunsch retten
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.
2026-08-28 13:52:56 +02:00

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