package com.github.bleuzen.blizcord.bot.commands;

import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.entities.User;

class Help extends Command {

	@Override
	public String getName() {
		return "help";
	}

	@Override
	public boolean isAdminOnly() {
		return false;
	}

	@Override
	public void execute(String arg, User author, MessageChannel channel, Guild guild) {
		channel.sendMessage(author.getAsMention() + " **Commands:**\n"
				+ "```"
				+ "!list                           (Show the playlist)\n"
				+ "!play <file or link>            (Play given track now)\n"
				+ "!add <file, folder or link>     (Add given track to playlist)\n"
				+ "!search <youtube video title>   (Plays the first video that was found)\n"
				+ "!save <playlist>                (Save the current playlist)\n"
				+ "!load <playlist>                (Load a saved playlist)\n"
				+ "!loadshuffle <playlist>         (Load a list and shuffle it)\n"
				+ "!rmlist <playlist>              (Delete a saved playlist)\n"
				+ "!lists                          (List all saved playlists)\n"
				+ "!pause                          (Pause or resume the current track)\n"
				+ "!stop                           (Stop the playback and clear the playlist)\n"
				+ "!volume                         (Change the playback volume)\n"
				+ "!next (<how many songs>)        (Skip one or more songs from the playlist)\n"
				+ "!seek <hours:minutes:seconds>   (Seek to the specified position)\n"
				+ "!jump (<how many seconds>)      (Jump forward in the current track)\n"
				+ "!repeat (<how many times>)      (Repeat the current playlist)\n"
				+ "!shuffle                        (Randomize the track order)\n"
				+ "!loop                           (Re add played track to the end of the playlist)\n"
				+ "!playtime                       (Time in currently playing song)\n"
				+ "!uptime                         (See how long the bot is already online)\n"
				+ "!about                          (Print about message)\n"
				+ "!kill                           (Kill the bot)"
				+ "```"
				+ (channel.getType() == ChannelType.PRIVATE ? ("\n**Guild:** " + guild.getName()) : "") ).queue();
	}

}

@@ -558,26 +558,39 @@
 %22%60%60%60%22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 list        
@@ -633,26 +633,39 @@
 t)%5Cn%22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 play %3Cfile o
@@ -715,18 +715,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 add %3Cfil
@@ -800,18 +800,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 search %3C
@@ -894,18 +894,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 save %3Cpl
@@ -973,26 +973,39 @@
 t)%5Cn%22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 load %3Cplayli
@@ -1055,19 +1055,32 @@
 n%22%0A%09%09%09%09+
+ getPrefix() +
  %22
-!
 loadshuf
@@ -1140,18 +1140,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 rmlist %3C
@@ -1221,18 +1221,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 lists   
@@ -1303,18 +1303,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 pause   
@@ -1394,18 +1394,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 stop    
@@ -1492,18 +1492,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 volume  
@@ -1576,18 +1576,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 next (%3Ch
@@ -1674,18 +1674,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 seek %3Cho
@@ -1762,18 +1762,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 jump (%3Ch
@@ -1853,18 +1853,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 repeat (
@@ -1938,18 +1938,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 shuffle 
@@ -2020,19 +2020,32 @@
 n%22%0A%09%09%09%09+
+ getPrefix() +
  %22
-!
 loop    
@@ -2125,18 +2125,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 playtime
@@ -2213,18 +2213,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 uptime  
@@ -2309,18 +2309,31 @@
 %22%0A%09%09%09%09+ 
+getPrefix() + 
 %22
-!
 about   
@@ -2390,10 +2390,23 @@
 %09%09+ 
+getPrefix() + 
 %22
-!
 kill

Fix #30 (#31)