Zum Ausführen des Projektes ist eine aktuelle Python Version, sowie eine aktuelle Node.js Version erforderlich. Vergewissere dich, dass beides auf deinem System isntalliert ist, bevor du weitermachst.
Als Node.js Paketmanager empfehle ich yarn. Dieser kann mit folgendem Befehl installiert werden: npm install -g yarn
Die im Projekt enthaltenen Datei requirements.txt und pyproject.toml beschreiben die Python Pakete, die notwendig sind, um den Bot auszuführen. Diese musst du zunächst mit dem Paketmanager deiner Wahl installieren. Führe dazu einen der folgenden Befehle (je nach eingesetztem Paketmanager) im Unterverzeichnis src/bot aus.
cd src/bot
# Paketmanager "pip":
pip install -r requirements.txt
# Paketmanager "pipenv":
pipenv install -r requirements.txt
# Paketmanager "poetry":
poetry install
Das gleiche musst du nun auch noch für die Node.js Pakete tun. Führe hierzu im Unterverzeichnis src/dashboard einen der folgenden Befehle (je nach eingesetztem Paketmanager) aus:
cd src/dashboard
# Paketmanager "npm":
npm install
# Paketmanager "yarn":
yarn
Die nachfolgenden Einstellungen muss für den Bot vorgenommen werden, der mit dem Dashboard verbunden werden soll. Hier geht es zum Discord Developer Portal: https://discord.com/developers/applications Client ID und Client Secret auf dem Screenshot sind natürlich schon lange nicht mehr gültig ;-)
Es müssen zwei Konfigurationsdateien angelegt werden. Eine für den Bot (src/bot/config.yml) und eine für das Dashboard (src/dashboard/.env). Nachfolgend findest du Beispiele der beiden Konfigurationsdateien. Werte in spitzen Klammern < >
müssen durch echte Werte ersetzt werden.
common:
dev_mode: true
return_exceptions: false
ipc:
secret_key: <RANDOM SECRET KEY> # Beliebige zufällige Zeichenfolge
db:
host: <DATABASE HOST> # Hostname des MongoDB Systems
name: <DATABASE NAME> # Name der Datenbank
user: <DATABASE USER> # Benutzername
password: <DATABASE PASSWORD> # Passwort
use_dns_seed_list: true
retry_writes: true
write_concern: majority
bot:
token: <BOT TOKEN> # Bot Token
dev_server_id: <ID OF DEV SERVER> # ID des Dev-Servers
owner_id: <ID OF BOT OWNER> # Member ID des Bot Owners
api:
enabled: true
oauth:
client_id: <CLIENT ID> # Client ID der Applikation (aus dem Discord Developer Portal zu entnehmen)
client_secret: <CLIENT SECRET> # Client Secret der Applikation (aus dem Discord Developer Portal zu entnehmen)
redirect_uri: http://localhost:8000/account/callback
scopes:
- identify
- email
- guilds
VITE_DC_CLIENT_ID=<CLIENT ID> # Client ID der Applikation (aus dem Discord Developer Portal zu entnehmen)
VITE_API_URL=http://localhost:8000
VITE_LANDING_PAGE_TITLE=Bot Dashboard