Installation
🚀 Installation
Voraussetzungen
- Node.js ab Version 18, das eingebaute
fetchwird für die Trivia-API gebraucht - npm
- Optional
mysqldumpfür/backup_database
1. Repository klonen
git clone https://github.com/MSK-Scripts/discord-multibot-js.git
cd discord-multibot-js
2. Abhängigkeiten installieren
npm install
3. Umgebungsvariablen setzen
cp .env.example .env
# → Tokens, IDs und Datenbank-Zugangsdaten eintragen
Jeder Bot braucht eine eigene Anwendung im Discord Developer Portal. Bots ohne Token überspringt der Start automatisch.
4. Testlauf von Hand
node main.js
systemd-Dienst
Eine fertige systemd-Unit liegt als multibot-js.service bei.
1. Pfade und Nutzer anpassen, falls nötig
Die Standardwerte in der Service-Datei: Nutzer deploy, Pfad
/home/deploy/discord_multibot_js.
2. Service-Datei kopieren
sudo cp multibot-js.service /etc/systemd/system/
3. Dienst aktivieren und starten
sudo systemctl daemon-reload
sudo systemctl enable multibot-js
sudo systemctl start multibot-js
Hinweis: Der Dienst liest die
.envüberEnvironmentFile=. Achte darauf, dass die Datei am eingestellten Pfad liegt und für den Dienstnutzer lesbar ist.
Nützliche Befehle
# Status anzeigen
sudo systemctl status multibot-js
# Logs live mitlesen
journalctl -u multibot-js -f
# Neu starten, etwa nach Änderungen an der .env oder nach Updates
sudo systemctl restart multibot-js
# Stoppen
sudo systemctl stop multibot-js
# Autostart abschalten
sudo systemctl disable multibot-js
Hinweise zur Sicherheit
- Die
.envgehört nie ins Repository, sie steht in der.gitignore /backup_databasenutztexecFile, es gibt also keine Shell-Injection. Setze den Befehl trotzdem nur auf Servern ein, denen du vertraust- Der Dienstnutzer (
deploy) sollte keine Root-Rechte haben - Änderungen an Rollenrechten hebt der Log-Kanal rot hervor