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("Jeder Befehl startet mit \"::yoshi\" gefolgt von einer Aktion (folgend aufgelistet) und "
						  +
						  "den Parametern. Jeder Parameter besitzt einen Namen, der mit einem Bindestrich \"-\" beginnt und optional "
						  +
						  "danach einen Wert. Sollte der Wert Leerzeichen beinhalten muss dieser in doppelte Anf\u00fchrungszeichen "
						  +
						  "gesetzt werden. Es gilt also die Form:\n ::yoshi aktion -param1Name param1Wert -param2Name \"param 2 Wert\"\n"
						  + "Folgende Befehle gibt es bereits:");
		eb.addField("help", "Zeigt genau diesen Hilfetext an.", false);
		eb.addField("joke", "Schreibt einen random Jokus in den \u00fcber -channel angegebenen Textchannel.", false);
		eb.addField("list", "Listet alle derzeit verf\u00fcgbaren Sounds auf.", false);
		eb.addField("play", "Spielt den Sound mit dem Namen -name in dem Voicechannel -channel ab. Oder mit Option -add (ohne Wert) wird "
					      + "neuer Sound hinzugef\u00fcgt. Es muss ein -name vergeben werden und der Sound als .opus-Datei im Anganh vorhanden sein.", false);
		eb.addField("say", "Sagt Sachen. Mittels Google übersetzer. Macht damit was ihr wollt. Ist halt nur deutsch",
					false);
		eb.addField("sauce", "Was erwartest du? Gibt dir halt Soße. Pack nen -tags dahinter und dann bisschen \" um " +
							 "die tags und ab geht der rechte Arm", false);
		eb.addField("pat", "Sendet ein Pat-Gif mit dem angehangenen oder alternativ mit -name spezifiziertem " +
							"(muss dann aber auf dem Server vorhanden sein) Bild.)", false);
		sendMessage(eb.build());
		
		return true;
	}
	
}
