Browse Source

Prechange

pull/2/head
Paul Glaß 4 years ago
parent
commit
b6384d5439
6 changed files with 46 additions and 35 deletions
  1. +1
    -1
      .gitignore
  2. +8
    -7
      app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioSendHandlerImpl.java
  3. +26
    -23
      app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/PlayCommand.java
  4. +2
    -0
      app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java
  5. +1
    -4
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java
  6. +8
    -0
      rsc/Config.properties

+ 1
- 1
.gitignore View File

@ -194,4 +194,4 @@ gradle-app.setting
# Resources
rsc/audio
rsc/Config.properties
rsc/PrivateJdaBuilderString.txt

+ 8
- 7
app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioSendHandlerImpl.java View File

@ -1,13 +1,11 @@
package de.yannicpunktdee.yoshibot.audio;
import java.nio.ByteBuffer;
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame;
import de.yannicpunktdee.yoshibot.main.YoshiBot;
import net.dv8tion.jda.api.audio.AudioSendHandler;
import java.nio.ByteBuffer;
public class AudioSendHandlerImpl implements AudioSendHandler {
private AudioPlayer audioPlayer;
@ -23,15 +21,18 @@ public class AudioSendHandlerImpl implements AudioSendHandler {
lastFrame = audioPlayer.provide();
return lastFrame != null;
}
@Override
public ByteBuffer provide20MsAudio() {
return ByteBuffer.wrap(lastFrame.getData());
}
/**
* {@inheritDoc}
*/
@Override
public boolean isOpus() {
return true;
return false;
}
}

+ 26
- 23
app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/PlayCommand.java View File

@ -11,42 +11,43 @@ import de.yannicpunktdee.yoshibot.command.YoshiCommand;
import de.yannicpunktdee.yoshibot.command.YoshiCommandContext;
import de.yannicpunktdee.yoshibot.utils.Resources;
import de.yannicpunktdee.yoshibot.main.YoshiBot;
import lombok.NonNull;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.VoiceChannel;
public class PlayCommand extends YoshiCommand {
protected final String[] requiredArguments = new String[] {"name"};
protected final String[] requiredArguments = new String[]{"name"};
public PlayCommand(YoshiCommandContext context) {
super(context);
}
public static boolean play(String fileName, VoiceChannel vc){
public static boolean play(String fileName, VoiceChannel vc) {
YoshiBot yoshiBot = YoshiBot.getInstance();
vc.getGuild().getAudioManager().openAudioConnection(vc);
yoshiBot.audioPlayerManager.loadItem(fileName, new AudioLoadResultHandlerImpl());
return true;
}
@Override
public boolean execute() {
if(!super.execute()) return false;
if (!super.execute()) return false;
YoshiBot yoshiBot = YoshiBot.getInstance();
if(context.containsArguments(new String[]{"add"})){
if (context.containsArguments(new String[]{"add"})) {
List<Message.Attachment> attachments = context.getEvent().getMessage().getAttachments();
if(attachments.isEmpty() || attachments.size() > 1){
if (attachments.size() != 1) {
sendMessage("Falsche Anzahl an Anhängen");
return false;
}
String path = Resources.buildAudioFilePath(context.getArgument("name"));
if((new File(path)).exists()){
if ((new File(path)).exists()) {
sendMessage("Ein Soundeffekt mit diesem Namen existiert bereits.");
return false;
}
@ -62,33 +63,35 @@ public class PlayCommand extends YoshiCommand {
sendMessage("Die Sounddatei konnte nicht ordnungsgemäß erstellt werden.");
return false;
}
}else{
} else {
VoiceChannel vc;
if(context.getEvent().getMember() == null || !context.getEvent().getMember().getVoiceState().inVoiceChannel()){
if(!context.containsArguments(new String[]{"channel"})){
if (context.getEvent().getMember() == null ||
!context.getEvent().getMember().getVoiceState().inVoiceChannel()) {
if (!context.containsArguments(new String[]{"channel"})) {
context.getEvent().getTextChannel().sendMessage("Es wurde kein channel spezfiziert.").queue();
return false;
}
List<VoiceChannel> channels = yoshiBot.jda.getVoiceChannelsByName(context.getArgument("channel"), true);
if(!(channels.size() > 0)) {
context.getEvent().getTextChannel().sendMessage("Der Kanalname konnte nicht gefunden werden.").queue();
if (!(channels.size() > 0)) {
context.getEvent().getTextChannel().sendMessage("Der Kanalname konnte nicht gefunden werden.")
.queue();
return false;
}
vc = channels.get(0);
}else{
} else {
vc = context.getEvent().getMember().getVoiceState().getChannel();
}
String fileName = Resources.getAudioFilePath(context.getArgument("name"));
if(fileName == null) {
if (fileName == null) {
context.getEvent().getTextChannel().sendMessage("Audio konnte nicht gefunden werden.").queue();
return false;
}
play(fileName, vc);
}
return true;
}
}

+ 2
- 0
app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java View File

@ -75,6 +75,7 @@ public class YoshiBot {
*
* @throws LoginException Falls das Token ungültig ist.
*/
@SneakyThrows
public void start() throws LoginException {
System.out.println("Starte YoshiBot.");
@ -95,6 +96,7 @@ public class YoshiBot {
return;
}
jda.awaitReady();
guild = jda.getGuildById(Resources.getGuild_id());
audioPlayer = YoshiBot.getInstance().audioPlayerManager.createPlayer();


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

@ -95,10 +95,7 @@ public final class Resources {
}
private static boolean initJdaBuilderString() {
if (!propertiesFile.containsKey("jda_builder_string")) {
Logger.log("Die Config.properties benötigt das Attribut jda_builder_string.", Type.ERROR);
return false;
}
List<String> strings = Files.readAllLines(new File(propertiesFilePath))
jda_builder_string = propertiesFile.getProperty("jda_builder_string");
return true;
}


+ 8
- 0
rsc/Config.properties View File

@ -0,0 +1,8 @@
guild_id=801554100814741524
# audio_source_directory=C:/Users/linky/workspace/Yoshi_Bot_Audio/
restrict_commands_to_channel=bot-muell schrein-auf-den-bot
path_to_tts=/root/yoshibot/rsc/tts.py
path_to_sauce_config=/root/yoshibot/rsc/sauceConfig.json
path_to_activities=/root/yoshibot/rsc/activities.txt
greetings_and_byebyes_on=true
path_to_secret=/home/gits/

Loading…
Cancel
Save