package de.yannicpunktdee.yoshibot.command.commands;

import de.yannicpunktdee.yoshibot.command.YoshiCommand;
import de.yannicpunktdee.yoshibot.command.YoshiCommandContext;
import net.dv8tion.jda.api.EmbedBuilder;

public class HelpCommand extends YoshiCommand {
	
	public HelpCommand(YoshiCommandContext context) {
		super(context);
	}
	
	@Override
	public boolean execute() {
		if (!super.execute()) return false;
		
		EmbedBuilder eb = new EmbedBuilder();
		eb.setTitle("So kannst du den Yohsi-Bot benutzen:");
		eb.setDescription("W\u00e4hle einen Befehl aus der folgenden Liste und ersetze die ``hervorgehobenen`` Ausdr\u00fccke " +
				"durch die jeweiligen Werte. Enth\u00e4lt ein Wert Leerzeichen muss er in doppelten Anf\u00fchrungszeichen stehen. " +
				"Die Befehle funktionieren nur im bot-muell Textchannel und der sauce-Befehl nur im schrein-auf-den-bot.\n[Link zum Projekt](http://yannicpunktdee.de:3000/yannic/YoshiBot.git)");
		eb.addField("::yoshi help", "Zeigt genau diesen Hilfetext an.", false);
		eb.addField("::yoshi joke", "Schreibt einen random Jokus in den bot-muell Textchannel.", false);
		eb.addField("::yoshi joke -channel ``kanal``", "Schreibt einen random Jokus in den Textchannel kanal.", false);
		eb.addField("::yoshi play -add -name ``name``", "F\u00fcgt die im **ANHANG** enthaltene Audiodatei (im .opus-" +
				"Format der Audiosammlung hinzu und gibt ihr den Namen ``name``. Dabei m\u00fcssen der Befehl und der Anhang " +
				"nat\u00fcrlich der selben Nachricht angeh\u00f6ren.", false);
		eb.addField("::yoshi play -list", "Listet alle derzeit verf\u00fcgbaren Sounds auf.", false);
		eb.addField("::yoshi play -name ``name`` -channel ``kanal``", "Spielt den Sound mit dem Namen ``name`` " +
				"in dem Voicechannel ``kanal``. Die Kanalangabe kann man auch weglassen, wenn man selbst oder der Bot " +
				"sich gerade in einem Voicechannel befindet.", false);
		eb.addField("::yoshi say -text \"``text``\" -channel ``kanal``", "Liest den Text ``text`` mittels " +
				"Google \u00dcbersetzer in dem Voicechannel ``kanal`` vor. Die Kanalangabe kann man auch weglassen, " +
				"wenn man selbst oder der Bot sich gerade in einem Voicechannel befindet.", false);
		eb.addField("::yoshi sauce -tags \"``tags``\"", "Schickt ein zuf\u00e4lliges knuspriges Bild von rule34.xxx " +
				"in den schrein-auf-den-bot gefiltert durch die ``tags`` (durch Leerzeichen getrennt). Ps.: Vergiss die " +
				"doppelten Anf\u00fchrungszeichen nicht.", false);
		eb.addField("::yoshi pat", "Macht aus dem im **ANHANG** enthaltenen Bild ein Pat-GIF und schickt es " +
				"in den bot-muell Textchannel. Dabei m\u00fcssen der Befehl und der Anhang nat\u00fcrlich der selben " +
				"Nachricht angeh\u00f6ren.", false);
		eb.addField("::yoshi bonk", "Analog zu pat, nur mit Bonk.", false);
		eb.addField("::yoshi wikipedia -name ``name`` -channel ``kanal``", "Liest die ersten S\u00e4tze des " +
				"Wikipedia-Artikels zu ``name`` im Sprachkanal ``kanal`` vor und schickt den Text in den bot-muell Textchannel." +
				"Die Kanalangabe kann man auch weglassen, wenn man selbst oder der Bot sich gerade in einem Voicechannel befindet.", false);
		sendCustomMessage(eb.build());
		
		return true;
	}
	
}
