|
@ -1,22 +1,39 @@ |
|
|
# YoshiBot |
|
|
|
|
|
|
|
|
# YoshiBot # |
|
|
|
|
|
|
|
|
Ein in Java geschriebener Discordbot, der lustige Sachen kann. |
|
|
Ein in Java geschriebener Discordbot, der lustige Sachen kann. |
|
|
|
|
|
|
|
|
## Einrichtung |
|
|
|
|
|
|
|
|
Das Git-Projekt befindet sich unter http://yannicpunktdee.de:3000/yannic/YoshiBot.git. |
|
|
|
|
|
|
|
|
Ordner rsc wie in Ordnerstruktur.txt beschrieben strukturieren und Config.properties anlegen. Diese sollte folgende |
|
|
|
|
|
Werte enthalten: |
|
|
|
|
|
|
|
|
## Einrichtung ## |
|
|
|
|
|
|
|
|
- jda_builder_string -> Client Secret |
|
|
|
|
|
- audio_source_directory -> Verzeichnis, in dem die Audio-Dateien liegen, auch unter Windows mit / anstatt \ |
|
|
|
|
|
(dieses Verzeichnis sollte natürlich existieren) |
|
|
|
|
|
- restrict_commands_to_channel -> Textkanalname, auf dem die Botkommandos empfangen werden |
|
|
|
|
|
|
|
|
Der Bot ist hauptsächlich in Java geschrieben mit Gradle als Build-Tool. |
|
|
|
|
|
Zusätzlich wird Python3 mit dem Paket gTTS verwendet für alles was mit Text-To-Speech zu tun hat. |
|
|
|
|
|
Für die Annotationen wie ```@Getter``` oder ```@SneakyThrows``` wird das Lombok-Plugin für Intellij benötigt. |
|
|
|
|
|
Mit Gradle sind die Bibliotheken JDA für die Discord-Schnittstelle (https://github.com/DV8FromTheWorld/JDA) und |
|
|
|
|
|
LavaPlayer (https://github.com/sedmelluq/lavaplayer) für Audioangelegenheiten einzubinden. Dies ist aber bereits im |
|
|
|
|
|
Gradle build script (```app/build.gradle```) enthalten. |
|
|
|
|
|
|
|
|
Python gTTS installieren mit pip install gTTS |
|
|
|
|
|
|
|
|
Als Entwicklungsumgebung eignet sich z.B. IntelliJ IDEA. |
|
|
|
|
|
|
|
|
## Export |
|
|
|
|
|
|
|
|
Zum Einrichten einfach das Projekt mit Git clonen und in Intellij öffnen. |
|
|
|
|
|
|
|
|
Zum Exportieren der Applikation führe den Befehl "gradlew clean build" im Root Verzeichnis aus. Die fertige Jar liegt |
|
|
|
|
|
in "app/build/libs". Füge dieser noch im selben Verzeichnis den rsc-Ordner mitsamt Inhalt hinzu. Für Pfadangaben in der |
|
|
|
|
|
Config.properties achte darauf, dass diese Ordner auch existieren. |
|
|
|
|
|
Starte die Applikation mit "java-jar app.jar". |
|
|
|
|
|
|
|
|
Damit sich der Bot online schalten kann wird noch die Datei ```rsc/PrivateJdaBuilderString.txt``` benötigt, die den |
|
|
|
|
|
Geheimschlüssel der Discord-Anwendung enthält. Diesen bekommt man mitgeteilt, sobald man eine Discord-Anwendung erstellt |
|
|
|
|
|
über https://discord.com/developers/applications und der Bot auf den Server eingeladen wurde. |
|
|
|
|
|
|
|
|
|
|
|
Weiterhin muss die Guild-ID der Server-Guild in der ```Config.properties``` angepasst werden. |
|
|
|
|
|
|
|
|
|
|
|
Für Pfadangaben in der ```Config.properties``` achte darauf, dass diese Ordner auch existieren und dass Verzeichnisse auch unter |
|
|
|
|
|
Windows mit ```/``` und nicht mit ```\ ``` geschrieben werden und darauf enden. |
|
|
|
|
|
|
|
|
|
|
|
Nun nur noch die Main-Methode starten oder wie folgt builden und ausführen und der Bot läuft. |
|
|
|
|
|
|
|
|
|
|
|
**Warnung** Der Bot benutzt das temp-Verzeichnis (Ordner ```yoshibot```) des Rechners, auf dem er ausgeführt wird und legt dort evtl viele Dateien |
|
|
|
|
|
ab, die er selbst nicht löscht. Also entweder muss das Verzeichnis von Zeit zu Zeit geleert oder der Rechner neu gestartet werden. |
|
|
|
|
|
|
|
|
|
|
|
## Build ## |
|
|
|
|
|
|
|
|
|
|
|
Zum Exportieren der Applikation führe den Befehl ```gradlew clean build``` auf Windows oder für Linux ```gradle clean build``` |
|
|
|
|
|
im Root Verzeichnis aus. Die fertige Jar liegt dann in ```app/build/libs```. Füge dieser noch im selben Verzeichnis den |
|
|
|
|
|
rsc-Ordner mitsamt Inhalt hinzu. Starte die Applikation mit ```java-jar app.jar``` am besten im Hintergrund oder per ```screen``` |
|
|
|
|
|
unter Linux, damit der Bot permanent läuft. |