Browse Source

Merge branch 'master' of http://yannicpunktdee.de:3000/yannic/YoshiBot into greetings_byebyes

 Conflicts:
	.gitignore
greetings_byebyes
yl60lepu 4 years ago
parent
commit
83e7e9990f
5 changed files with 38 additions and 3 deletions
  1. +2
    -1
      .gitignore
  2. +25
    -1
      app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java
  3. +4
    -0
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java
  4. +1
    -1
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java
  5. +6
    -0
      rsc/activities.txt

+ 2
- 1
.gitignore View File

@ -197,4 +197,5 @@ rsc/*
!rsc/tts.py !rsc/tts.py
!rsc/sauceConfig.json !rsc/sauceConfig.json
!rsc/greetings.txt !rsc/greetings.txt
!rsc/byebyes.txt
!rsc/byebyes.txt
!rsc/activities.txt

+ 25
- 1
app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java View File

@ -12,13 +12,24 @@ import de.yannicpunktdee.yoshibot.command.YoshiCommandContext;
import de.yannicpunktdee.yoshibot.command.YoshiCommandDistributor; import de.yannicpunktdee.yoshibot.command.YoshiCommandDistributor;
import de.yannicpunktdee.yoshibot.listeners.CommandLine; import de.yannicpunktdee.yoshibot.listeners.CommandLine;
import de.yannicpunktdee.yoshibot.listeners.CommandListener; import de.yannicpunktdee.yoshibot.listeners.CommandListener;
import de.yannicpunktdee.yoshibot.utils.Logger;
import de.yannicpunktdee.yoshibot.utils.Resources; import de.yannicpunktdee.yoshibot.utils.Resources;
import de.yannicpunktdee.yoshibot.utils.SauceProvider; import de.yannicpunktdee.yoshibot.utils.SauceProvider;
import lombok.SneakyThrows;
import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.OnlineStatus; import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.entities.Activity;
import java.io.BufferedReader;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/** /**
* Repräsentiert einen Yoshi-Bot. Der Bot initialisiert alle Ressourcen und schaltet sich in der startYoshiBot-Methode * Repräsentiert einen Yoshi-Bot. Der Bot initialisiert alle Ressourcen und schaltet sich in der startYoshiBot-Methode
* online und beginnt dann zu lauschen. Parallel lauscht ein Thread auf Konsoleneingaben für administrative Zwecke, die * online und beginnt dann zu lauschen. Parallel lauscht ein Thread auf Konsoleneingaben für administrative Zwecke, die
@ -79,7 +90,7 @@ public class YoshiBot {
jda = jdaBuilder.build(); jda = jdaBuilder.build();
jdaBuilder.setStatus(OnlineStatus.ONLINE).setActivity(Activity.playing("Haare waschen."));
jdaBuilder.setStatus(OnlineStatus.ONLINE);
System.out.println("YoshiBot online."); System.out.println("YoshiBot online.");
@ -87,6 +98,8 @@ public class YoshiBot {
commandLineThread.start(); commandLineThread.start();
SauceProvider provider = new SauceProvider(300); SauceProvider provider = new SauceProvider(300);
Executors.newScheduledThreadPool(1).scheduleAtFixedRate(YoshiBot::setRandomActivity, 0, 10, TimeUnit.HOURS);
} }
public synchronized void stop() { public synchronized void stop() {
@ -113,4 +126,15 @@ public class YoshiBot {
return YoshiBot.instance; return YoshiBot.instance;
} }
@SneakyThrows
private static void setRandomActivity() {
YoshiBot yoshiBot = YoshiBot.getInstance();
yoshiBot.jda.awaitReady();
List<String> text = Files.readAllLines(new File(Resources.getActivityPath()).toPath());
Random rand = new Random();
String activity = text.get(rand.nextInt(text.size()));
yoshiBot.jda.getPresence().setActivity(Activity.playing(activity));
Logger.log("Setze Aktivität auf " + activity, Logger.Type.INFO);
}
} }

+ 4
- 0
app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java View File

@ -44,6 +44,9 @@ public final class Resources {
@Getter @Getter
private static String sauceConfigPath; private static String sauceConfigPath;
@Getter
private static String activityPath;
public synchronized static boolean init(String pathToConfig) { public synchronized static boolean init(String pathToConfig) {
Logger.log("Lade Config.properties ...", Type.INFO); Logger.log("Lade Config.properties ...", Type.INFO);
@ -73,6 +76,7 @@ public final class Resources {
tts_path = propertiesFile.getProperty("path_to_tts"); tts_path = propertiesFile.getProperty("path_to_tts");
sauceConfigPath = propertiesFile.getProperty("path_to_sauce_config"); sauceConfigPath = propertiesFile.getProperty("path_to_sauce_config");
activityPath = propertiesFile.getProperty("path_to_activities");
boolean isOk = initJdaBuilderString(); boolean isOk = initJdaBuilderString();
if (isOk) isOk = initGreetingsAndByebyes(); if (isOk) isOk = initGreetingsAndByebyes();


+ 1
- 1
app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java View File

@ -19,7 +19,7 @@ public class SauceProvider {
private static final String BASE_URL = "https://r34-json.herokuapp.com/"; private static final String BASE_URL = "https://r34-json.herokuapp.com/";
private int lastKnownSauce = 4584740;
private int lastKnownSauce = -1;
private boolean isSauceInit = false; private boolean isSauceInit = false;


+ 6
- 0
rsc/activities.txt View File

@ -0,0 +1,6 @@
Haare waschen
Kleine Menschen (Vanessa) verprügeln
Im Kosovo Hexen verbennen
Magnesiumcarbonat schnupfen
Offene Wunden mit Sekundenkleber verschließen
Sich 'nen saftigen Knackarsch reinzimmern

Loading…
Cancel
Save