Browse Source

Greetings and byebyes Teil 1

greetings_byebyes
yl60lepu 4 years ago
parent
commit
784b9682f2
5 changed files with 88 additions and 4 deletions
  1. +3
    -1
      .gitignore
  2. +30
    -1
      app/src/main/java/de/yannicpunktdee/yoshibot/listeners/CommandListener.java
  3. +29
    -2
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java
  4. +12
    -0
      rsc/byebyes.txt
  5. +14
    -0
      rsc/greetings.txt

+ 3
- 1
.gitignore View File

@ -195,4 +195,6 @@ gradle-app.setting
rsc/*
!rsc/Ordnerstruktur.txt
!rsc/tts.py
!rsc/sauceConfig.json
!rsc/sauceConfig.json
!rsc/greetings.txt
!rsc/byebyes.txt

+ 30
- 1
app/src/main/java/de/yannicpunktdee/yoshibot/listeners/CommandListener.java View File

@ -1,11 +1,21 @@
package de.yannicpunktdee.yoshibot.listeners;
import de.yannicpunktdee.yoshibot.command.YoshiCommandContext;
import de.yannicpunktdee.yoshibot.command.commands.PlayCommand;
import de.yannicpunktdee.yoshibot.command.commands.SayCommand;
import de.yannicpunktdee.yoshibot.utils.Logger;
import de.yannicpunktdee.yoshibot.utils.Resources;
import de.yannicpunktdee.yoshibot.main.YoshiBot;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.VoiceChannel;
import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent;
import net.dv8tion.jda.api.events.guild.member.GuildMemberLeaveEvent;
import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent;
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceJoinEvent;
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceLeaveEvent;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
@ -39,5 +49,24 @@ public class CommandListener extends ListenerAdapter {
YoshiCommandContext context = new YoshiCommandContext(raw, event);
if (!context.getState().equals(YoshiCommandContext.State.NO_COMMAND)) YoshiBot.executeCommand(context);
}
@Override
public void onGuildVoiceJoin(@NotNull GuildVoiceJoinEvent event) {
super.onGuildVoiceJoin(event);
System.out.println(Resources.getRandomGreeting(event.getMember().getNickname()));
/*PlayCommand.play(
SayCommand.buildTTSAudio(),
event.getMember().getVoiceState().getChannel());*/
}
@Override
public void onGuildVoiceLeave(@NotNull GuildVoiceLeaveEvent event) {
super.onGuildVoiceLeave(event);
PlayCommand.play(
SayCommand.buildTTSAudio(Resources.getRandomByebye(event.getMember().getNickname())),
event.getMember().getVoiceState().getChannel());
}
}

+ 29
- 2
app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java View File

@ -9,6 +9,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
import java.util.stream.StreamSupport;
@ -19,6 +20,12 @@ public final class Resources {
private static Properties propertiesFile;
private static String jda_builder_string;
private static final boolean default_greetings_and_byebyes_on = true;
@Getter
private static boolean greetings_and_byebyes_on = default_greetings_and_byebyes_on;
private static List<String> greetings;
private static List<String> byebyes;
private static final String default_audio_source_directory = "rsc/audio/";
private static String audio_source_directory = default_audio_source_directory;
@ -68,12 +75,11 @@ public final class Resources {
sauceConfigPath = propertiesFile.getProperty("path_to_sauce_config");
boolean isOk = initJdaBuilderString();
if (isOk) isOk = initGreetingsAndByebyes();
if (isOk) isOk = initChannelRestrict();
if (isOk) isOk = initAudio();
initTagFilter();
if (isOk) Logger.log("Die Konfigurationen wurden erfolgreich geladen.", Type.INFO);
else Logger.log("Die Konfiguration konnte nicht geladen werden", Type.ERROR);
@ -92,6 +98,27 @@ public final class Resources {
public static String getJdaBuilderString() {
return jda_builder_string;
}
private static boolean initGreetingsAndByebyes(){
if(propertiesFile.containsKey("greetings_and_byebyes_on"))
greetings_and_byebyes_on = propertiesFile.getProperty("greetings_and_byebyes_on").equals("true");
if(!greetings_and_byebyes_on) return true;
try {
greetings = Files.readAllLines(Paths.get("rsc/greetings.txt"));
byebyes = Files.readAllLines(Paths.get("rsc/byebyes.txt"));
} catch (IOException e) {
return false;
}
return true;
}
public static String getRandomGreeting(String name){
if(!greetings_and_byebyes_on) return null;
return greetings.get((new Random()).nextInt(greetings.size()) - 1).replace("#", name);
}
public static String getRandomByebye(String name){
if(!greetings_and_byebyes_on) return null;
return byebyes.get(new Random().nextInt(byebyes.size()) - 1).replace("#", name);
}
private static void initTagFilter() {


+ 12
- 0
rsc/byebyes.txt View File

@ -0,0 +1,12 @@
Ja verpiss dich doch #.
Und da gehter schon der Sack #.
Sieh zu dass du Land gewinnst #.
Hau ab # hier will dich eh keiner.
Endlich ist # weg.
Bye bye #.
Tschö #.
Gut dass # jetzt weg ist. Der ging mir schon die ganze Zeit auf die Nüsse.
Leute ich glaub # ist ne Runde kacken.
Geh kacken #.
# ist weg. Lasst ma lästern.
Machs jut #.

+ 14
- 0
rsc/greetings.txt View File

@ -0,0 +1,14 @@
Sei gegrüßt Genosse #.
Wunderschönen juten Tach #.
Uwu # ist uns beigetreten.
Gelobt sei #.
OMG # ist da.
Wurde aber auch Zeit #.
Hurra hurra # ist da.
# ist gekommen um uns zu erleuchten.
# was ist deine Weisheit?
Ach hallo #.
Och nö nicht # schon wieder.
Och Leute # ist da. Auf den hab ich jetzt gar kein Bock.
Boa #. Wer hat den denn bestellt?
# na toll. Das hat mir noch gefehlt.

Loading…
Cancel
Save