|
@ -1,13 +1,12 @@ |
|
|
package de.yannicpunktdee.yoshibot.main; |
|
|
package de.yannicpunktdee.yoshibot.main; |
|
|
|
|
|
|
|
|
import javax.security.auth.login.LoginException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; |
|
|
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; |
|
|
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; |
|
|
import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager; |
|
|
import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager; |
|
|
import com.sedmelluq.discord.lavaplayer.source.AudioSourceManagers; |
|
|
import com.sedmelluq.discord.lavaplayer.source.AudioSourceManagers; |
|
|
import com.sedmelluq.discord.lavaplayer.source.local.LocalAudioSourceManager; |
|
|
import com.sedmelluq.discord.lavaplayer.source.local.LocalAudioSourceManager; |
|
|
|
|
|
|
|
|
import de.yannicpunktdee.yoshibot.audio.AudioControllerManager; |
|
|
|
|
|
|
|
|
import de.yannicpunktdee.yoshibot.audio.AudioPlayerListener; |
|
|
|
|
|
import de.yannicpunktdee.yoshibot.audio.AudioSendHandlerImpl; |
|
|
import de.yannicpunktdee.yoshibot.command.YoshiCommandContext; |
|
|
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; |
|
@ -20,11 +19,11 @@ 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 net.dv8tion.jda.api.entities.Guild; |
|
|
|
|
|
|
|
|
import java.io.BufferedReader; |
|
|
|
|
|
|
|
|
import javax.security.auth.login.LoginException; |
|
|
import java.io.File; |
|
|
import java.io.File; |
|
|
import java.nio.file.Files; |
|
|
import java.nio.file.Files; |
|
|
import java.nio.file.Path; |
|
|
|
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Random; |
|
|
import java.util.Random; |
|
|
import java.util.concurrent.Executors; |
|
|
import java.util.concurrent.Executors; |
|
@ -53,8 +52,10 @@ public class YoshiBot { |
|
|
* LavaPlayer AudioPlayerManager. |
|
|
* LavaPlayer AudioPlayerManager. |
|
|
*/ |
|
|
*/ |
|
|
public AudioPlayerManager audioPlayerManager; |
|
|
public AudioPlayerManager audioPlayerManager; |
|
|
|
|
|
|
|
|
public AudioControllerManager audioControllerManager; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Guild guild; |
|
|
|
|
|
|
|
|
|
|
|
public AudioPlayer audioPlayer; |
|
|
|
|
|
|
|
|
private static YoshiBot instance = null; |
|
|
private static YoshiBot instance = null; |
|
|
|
|
|
|
|
@ -79,16 +80,26 @@ public class YoshiBot { |
|
|
|
|
|
|
|
|
jdaBuilder = JDABuilder.createDefault(Resources.getJdaBuilderString()); |
|
|
jdaBuilder = JDABuilder.createDefault(Resources.getJdaBuilderString()); |
|
|
jdaBuilder.setAutoReconnect(true); |
|
|
jdaBuilder.setAutoReconnect(true); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jdaBuilder.addEventListeners(new CommandListener()); |
|
|
jdaBuilder.addEventListeners(new CommandListener()); |
|
|
|
|
|
|
|
|
audioPlayerManager = new DefaultAudioPlayerManager(); |
|
|
audioPlayerManager = new DefaultAudioPlayerManager(); |
|
|
audioPlayerManager.registerSourceManager(new LocalAudioSourceManager()); |
|
|
audioPlayerManager.registerSourceManager(new LocalAudioSourceManager()); |
|
|
AudioSourceManagers.registerRemoteSources(audioPlayerManager); |
|
|
AudioSourceManagers.registerRemoteSources(audioPlayerManager); |
|
|
|
|
|
|
|
|
audioControllerManager = new AudioControllerManager(); |
|
|
|
|
|
|
|
|
|
|
|
jda = jdaBuilder.build(); |
|
|
jda = jdaBuilder.build(); |
|
|
|
|
|
try { |
|
|
|
|
|
jda.awaitReady(); |
|
|
|
|
|
} catch (InterruptedException e) { |
|
|
|
|
|
Logger.log("Konnte nicht auf jda warten. Thread unterbrochen.", Logger.Type.ERROR); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
guild = jda.getGuildById(Resources.getGuild_id()); |
|
|
|
|
|
|
|
|
|
|
|
audioPlayer = YoshiBot.getInstance().audioPlayerManager.createPlayer(); |
|
|
|
|
|
audioPlayer.addListener(new AudioPlayerListener(guild.getAudioManager())); |
|
|
|
|
|
guild.getAudioManager().setSendingHandler(new AudioSendHandlerImpl(audioPlayer)); |
|
|
|
|
|
|
|
|
jdaBuilder.setStatus(OnlineStatus.ONLINE); |
|
|
jdaBuilder.setStatus(OnlineStatus.ONLINE); |
|
|
|
|
|
|
|
|