| @ -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. | |||||