Merge pull request #308 from MichailiK/pr/feature/config/aliases

Add configurable aliases for all commands
This commit is contained in:
John Grosh
2019-11-09 18:15:38 -05:00
committed by GitHub
35 changed files with 134 additions and 31 deletions
@@ -46,6 +46,8 @@ public class BotConfig
private long owner, maxSeconds; private long owner, maxSeconds;
private OnlineStatus status; private OnlineStatus status;
private Game game; private Game game;
private Config aliases;
private boolean valid = false; private boolean valid = false;
@@ -94,6 +96,7 @@ public class BotConfig
useEval = config.getBoolean("eval"); useEval = config.getBoolean("eval");
maxSeconds = config.getLong("maxtime"); maxSeconds = config.getLong("maxtime");
playlistsFolder = config.getString("playlistsfolder"); playlistsFolder = config.getString("playlistsfolder");
aliases = config.getConfig("aliases");
dbots = owner == 113156185389092864L; dbots = owner == 113156185389092864L;
// we may need to write a new config file // we may need to write a new config file
@@ -300,4 +303,16 @@ public class BotConfig
return false; return false;
return Math.round(track.getDuration()/1000.0) > maxSeconds; return Math.round(track.getDuration()/1000.0) > maxSeconds;
} }
public String[] getAliases(String command)
{
try
{
return aliases.getStringList(command).toArray(new String[0]);
}
catch(NullPointerException | ConfigException.Missing e)
{
return new String[0];
}
}
} }
@@ -99,7 +99,7 @@ public class JMusicBot
.setGuildSettingsManager(settings) .setGuildSettingsManager(settings)
.addCommands(aboutCommand, .addCommands(aboutCommand,
new PingCommand(), new PingCommand(),
new SettingsCmd(), new SettingsCmd(bot),
new LyricsCmd(bot), new LyricsCmd(bot),
new NowplayingCmd(bot), new NowplayingCmd(bot),
@@ -122,17 +122,17 @@ public class JMusicBot
new StopCmd(bot), new StopCmd(bot),
new VolumeCmd(bot), new VolumeCmd(bot),
new SetdjCmd(), new SetdjCmd(bot),
new SettcCmd(), new SettcCmd(bot),
new SetvcCmd(), new SetvcCmd(bot),
new AutoplaylistCmd(bot), new AutoplaylistCmd(bot),
new DebugCmd(bot), new DebugCmd(bot),
new PlaylistCmd(bot), new PlaylistCmd(bot),
new SetavatarCmd(), new SetavatarCmd(bot),
new SetgameCmd(), new SetgameCmd(bot),
new SetnameCmd(), new SetnameCmd(bot),
new SetstatusCmd(), new SetstatusCmd(bot),
new ShutdownCmd(bot) new ShutdownCmd(bot)
); );
if(config.useEval()) if(config.useEval())
@@ -18,6 +18,7 @@ package com.jagrosh.jmusicbot.commands.admin;
import java.util.List; import java.util.List;
import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandEvent;
import com.jagrosh.jdautilities.commons.utils.FinderUtil; import com.jagrosh.jdautilities.commons.utils.FinderUtil;
import com.jagrosh.jmusicbot.Bot;
import com.jagrosh.jmusicbot.commands.AdminCommand; import com.jagrosh.jmusicbot.commands.AdminCommand;
import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.settings.Settings;
import com.jagrosh.jmusicbot.utils.FormatUtil; import com.jagrosh.jmusicbot.utils.FormatUtil;
@@ -29,11 +30,12 @@ import net.dv8tion.jda.core.entities.Role;
*/ */
public class SetdjCmd extends AdminCommand public class SetdjCmd extends AdminCommand
{ {
public SetdjCmd() public SetdjCmd(Bot bot)
{ {
this.name = "setdj"; this.name = "setdj";
this.help = "sets the DJ role for certain music commands"; this.help = "sets the DJ role for certain music commands";
this.arguments = "<rolename|NONE>"; this.arguments = "<rolename|NONE>";
this.aliases = bot.getConfig().getAliases(this.name);
} }
@Override @Override
@@ -18,6 +18,7 @@ package com.jagrosh.jmusicbot.commands.admin;
import java.util.List; import java.util.List;
import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandEvent;
import com.jagrosh.jdautilities.commons.utils.FinderUtil; import com.jagrosh.jdautilities.commons.utils.FinderUtil;
import com.jagrosh.jmusicbot.Bot;
import com.jagrosh.jmusicbot.commands.AdminCommand; import com.jagrosh.jmusicbot.commands.AdminCommand;
import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.settings.Settings;
import com.jagrosh.jmusicbot.utils.FormatUtil; import com.jagrosh.jmusicbot.utils.FormatUtil;
@@ -29,11 +30,12 @@ import net.dv8tion.jda.core.entities.TextChannel;
*/ */
public class SettcCmd extends AdminCommand public class SettcCmd extends AdminCommand
{ {
public SettcCmd() public SettcCmd(Bot bot)
{ {
this.name = "settc"; this.name = "settc";
this.help = "sets the text channel for music commands"; this.help = "sets the text channel for music commands";
this.arguments = "<channel|NONE>"; this.arguments = "<channel|NONE>";
this.aliases = bot.getConfig().getAliases(this.name);
} }
@Override @Override
@@ -18,6 +18,7 @@ package com.jagrosh.jmusicbot.commands.admin;
import java.util.List; import java.util.List;
import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandEvent;
import com.jagrosh.jdautilities.commons.utils.FinderUtil; import com.jagrosh.jdautilities.commons.utils.FinderUtil;
import com.jagrosh.jmusicbot.Bot;
import com.jagrosh.jmusicbot.commands.AdminCommand; import com.jagrosh.jmusicbot.commands.AdminCommand;
import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.settings.Settings;
import com.jagrosh.jmusicbot.utils.FormatUtil; import com.jagrosh.jmusicbot.utils.FormatUtil;
@@ -29,11 +30,12 @@ import net.dv8tion.jda.core.entities.VoiceChannel;
*/ */
public class SetvcCmd extends AdminCommand public class SetvcCmd extends AdminCommand
{ {
public SetvcCmd() public SetvcCmd(Bot bot)
{ {
this.name = "setvc"; this.name = "setvc";
this.help = "sets the voice channel for playing music"; this.help = "sets the voice channel for playing music";
this.arguments = "<channel|NONE>"; this.arguments = "<channel|NONE>";
this.aliases = bot.getConfig().getAliases(this.name);
} }
@Override @Override
@@ -40,7 +40,7 @@ public class ForceRemoveCmd extends DJCommand
this.name = "forceremove"; this.name = "forceremove";
this.help = "removes all entries by a user from the queue"; this.help = "removes all entries by a user from the queue";
this.arguments = "<user>"; this.arguments = "<user>";
this.aliases = new String[]{"forcedelete", "modremove", "moddelete"}; this.aliases = bot.getConfig().getAliases(this.name);
this.beListening = false; this.beListening = false;
this.bePlaying = true; this.bePlaying = true;
this.botPermissions = new Permission[]{Permission.MESSAGE_EMBED_LINKS}; this.botPermissions = new Permission[]{Permission.MESSAGE_EMBED_LINKS};
@@ -32,7 +32,7 @@ public class ForceskipCmd extends DJCommand
super(bot); super(bot);
this.name = "forceskip"; this.name = "forceskip";
this.help = "skips the current song"; this.help = "skips the current song";
this.aliases = new String[]{"modskip"}; this.aliases = bot.getConfig().getAliases(this.name);
this.bePlaying = true; this.bePlaying = true;
} }
@@ -20,7 +20,7 @@ public class MoveTrackCmd extends DJCommand
this.name = "movetrack"; this.name = "movetrack";
this.help = "move a track in the current queue to a different position"; this.help = "move a track in the current queue to a different position";
this.arguments = "<from> <to>"; this.arguments = "<from> <to>";
this.aliases = new String[]{"move"}; this.aliases = bot.getConfig().getAliases(this.name);
this.bePlaying = true; this.bePlaying = true;
} }
@@ -31,6 +31,7 @@ public class PauseCmd extends DJCommand
super(bot); super(bot);
this.name = "pause"; this.name = "pause";
this.help = "pauses the current song"; this.help = "pauses the current song";
this.aliases = bot.getConfig().getAliases(this.name);
this.bePlaying = true; this.bePlaying = true;
} }
@@ -42,6 +42,7 @@ public class PlaynextCmd extends DJCommand
this.name = "playnext"; this.name = "playnext";
this.arguments = "<title|URL>"; this.arguments = "<title|URL>";
this.help = "plays a single song next"; this.help = "plays a single song next";
this.aliases = bot.getConfig().getAliases(this.name);
this.beListening = true; this.beListening = true;
this.bePlaying = false; this.bePlaying = false;
} }
@@ -32,6 +32,7 @@ public class RepeatCmd extends DJCommand
this.name = "repeat"; this.name = "repeat";
this.help = "re-adds music to the queue when finished"; this.help = "re-adds music to the queue when finished";
this.arguments = "[on|off]"; this.arguments = "[on|off]";
this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = true; this.guildOnly = true;
} }
@@ -32,7 +32,7 @@ public class SkiptoCmd extends DJCommand
this.name = "skipto"; this.name = "skipto";
this.help = "skips to the specified song"; this.help = "skips to the specified song";
this.arguments = "<position>"; this.arguments = "<position>";
this.aliases = new String[]{"jumpto"}; this.aliases = bot.getConfig().getAliases(this.name);
this.bePlaying = true; this.bePlaying = true;
} }
@@ -31,6 +31,7 @@ public class StopCmd extends DJCommand
super(bot); super(bot);
this.name = "stop"; this.name = "stop";
this.help = "stops the current song and clears the queue"; this.help = "stops the current song and clears the queue";
this.aliases = bot.getConfig().getAliases(this.name);
this.bePlaying = false; this.bePlaying = false;
} }
@@ -32,7 +32,7 @@ public class VolumeCmd extends DJCommand
{ {
super(bot); super(bot);
this.name = "volume"; this.name = "volume";
this.aliases = new String[]{"vol"}; this.aliases = bot.getConfig().getAliases(this.name);
this.help = "sets or shows volume"; this.help = "sets or shows volume";
this.arguments = "[0-150]"; this.arguments = "[0-150]";
} }
@@ -17,6 +17,7 @@ package com.jagrosh.jmusicbot.commands.general;
import com.jagrosh.jdautilities.command.Command; import com.jagrosh.jdautilities.command.Command;
import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandEvent;
import com.jagrosh.jmusicbot.Bot;
import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.settings.Settings;
import net.dv8tion.jda.core.EmbedBuilder; import net.dv8tion.jda.core.EmbedBuilder;
import net.dv8tion.jda.core.MessageBuilder; import net.dv8tion.jda.core.MessageBuilder;
@@ -32,11 +33,11 @@ public class SettingsCmd extends Command
{ {
private final static String EMOJI = "\uD83C\uDFA7"; // 🎧 private final static String EMOJI = "\uD83C\uDFA7"; // 🎧
public SettingsCmd() public SettingsCmd(Bot bot)
{ {
this.name = "settings"; this.name = "settings";
this.help = "shows the bots settings"; this.help = "shows the bots settings";
this.aliases = new String[]{"status"}; this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = true; this.guildOnly = true;
} }
@@ -39,6 +39,7 @@ public class LyricsCmd extends MusicCommand
this.name = "lyrics"; this.name = "lyrics";
this.arguments = "[song name]"; this.arguments = "[song name]";
this.help = "shows the lyrics to the currently-playing song"; this.help = "shows the lyrics to the currently-playing song";
this.aliases = bot.getConfig().getAliases(this.name);
this.botPermissions = new Permission[]{Permission.MESSAGE_EMBED_LINKS}; this.botPermissions = new Permission[]{Permission.MESSAGE_EMBED_LINKS};
this.bePlaying = true; this.bePlaying = true;
} }
@@ -33,7 +33,7 @@ public class NowplayingCmd extends MusicCommand
super(bot); super(bot);
this.name = "nowplaying"; this.name = "nowplaying";
this.help = "shows the song that is currently playing"; this.help = "shows the song that is currently playing";
this.aliases = new String[]{"np","current"}; this.aliases = bot.getConfig().getAliases(this.name);
this.botPermissions = new Permission[]{Permission.MESSAGE_EMBED_LINKS}; this.botPermissions = new Permission[]{Permission.MESSAGE_EMBED_LINKS};
} }
@@ -53,6 +53,7 @@ public class PlayCmd extends MusicCommand
this.name = "play"; this.name = "play";
this.arguments = "<title|URL|subcommand>"; this.arguments = "<title|URL|subcommand>";
this.help = "plays the provided song"; this.help = "plays the provided song";
this.aliases = bot.getConfig().getAliases(this.name);
this.beListening = true; this.beListening = true;
this.bePlaying = false; this.bePlaying = false;
this.children = new Command[]{new PlaylistCmd(bot)}; this.children = new Command[]{new PlaylistCmd(bot)};
@@ -31,7 +31,7 @@ public class PlaylistsCmd extends MusicCommand
super(bot); super(bot);
this.name = "playlists"; this.name = "playlists";
this.help = "shows the available playlists"; this.help = "shows the available playlists";
this.aliases = new String[]{"pls"}; this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = true; this.guildOnly = true;
this.beListening = false; this.beListening = false;
this.beListening = false; this.beListening = false;
@@ -47,7 +47,7 @@ public class QueueCmd extends MusicCommand
this.name = "queue"; this.name = "queue";
this.help = "shows the current queue"; this.help = "shows the current queue";
this.arguments = "[pagenum]"; this.arguments = "[pagenum]";
this.aliases = new String[]{"list"}; this.aliases = bot.getConfig().getAliases(this.name);
this.bePlaying = true; this.bePlaying = true;
this.botPermissions = new Permission[]{Permission.MESSAGE_ADD_REACTION,Permission.MESSAGE_EMBED_LINKS}; this.botPermissions = new Permission[]{Permission.MESSAGE_ADD_REACTION,Permission.MESSAGE_EMBED_LINKS};
builder = new Paginator.Builder() builder = new Paginator.Builder()
@@ -36,7 +36,7 @@ public class RemoveCmd extends MusicCommand
this.name = "remove"; this.name = "remove";
this.help = "removes a song from the queue"; this.help = "removes a song from the queue";
this.arguments = "<position|ALL>"; this.arguments = "<position|ALL>";
this.aliases = new String[]{"delete"}; this.aliases = bot.getConfig().getAliases(this.name);
this.beListening = true; this.beListening = true;
this.bePlaying = true; this.bePlaying = true;
} }
@@ -29,6 +29,6 @@ public class SCSearchCmd extends SearchCmd
this.searchPrefix = "scsearch:"; this.searchPrefix = "scsearch:";
this.name = "scsearch"; this.name = "scsearch";
this.help = "searches Soundcloud for a provided query"; this.help = "searches Soundcloud for a provided query";
this.aliases = new String[]{}; this.aliases = bot.getConfig().getAliases(this.name);
} }
} }
@@ -46,7 +46,7 @@ public class SearchCmd extends MusicCommand
super(bot); super(bot);
this.searchingEmoji = bot.getConfig().getSearching(); this.searchingEmoji = bot.getConfig().getSearching();
this.name = "search"; this.name = "search";
this.aliases = new String[]{"ytsearch"}; this.aliases = bot.getConfig().getAliases(this.name);
this.arguments = "<query>"; this.arguments = "<query>";
this.help = "searches Youtube for a provided query"; this.help = "searches Youtube for a provided query";
this.beListening = true; this.beListening = true;
@@ -31,6 +31,7 @@ public class ShuffleCmd extends MusicCommand
super(bot); super(bot);
this.name = "shuffle"; this.name = "shuffle";
this.help = "shuffles songs you have added"; this.help = "shuffles songs you have added";
this.aliases = bot.getConfig().getAliases(this.name);
this.beListening = true; this.beListening = true;
this.bePlaying = true; this.bePlaying = true;
} }
@@ -32,7 +32,7 @@ public class SkipCmd extends MusicCommand
super(bot); super(bot);
this.name = "skip"; this.name = "skip";
this.help = "votes to skip the current song"; this.help = "votes to skip the current song";
this.aliases = new String[]{"voteskip"}; this.aliases = bot.getConfig().getAliases(this.name);
this.beListening = true; this.beListening = true;
this.bePlaying = true; this.bePlaying = true;
} }
@@ -35,6 +35,7 @@ public class AutoplaylistCmd extends OwnerCommand
this.name = "autoplaylist"; this.name = "autoplaylist";
this.arguments = "<name|NONE>"; this.arguments = "<name|NONE>";
this.help = "sets the default playlist for the server"; this.help = "sets the default playlist for the server";
this.aliases = bot.getConfig().getAliases(this.name);
} }
@Override @Override
@@ -41,6 +41,7 @@ public class DebugCmd extends OwnerCommand
this.bot = bot; this.bot = bot;
this.name = "debug"; this.name = "debug";
this.help = "shows debug info"; this.help = "shows debug info";
this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = false; this.guildOnly = false;
} }
@@ -34,6 +34,7 @@ public class EvalCmd extends OwnerCommand
this.bot = bot; this.bot = bot;
this.name = "eval"; this.name = "eval";
this.help = "evaluates nashorn code"; this.help = "evaluates nashorn code";
this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = false; this.guildOnly = false;
} }
@@ -21,7 +21,6 @@ import com.jagrosh.jdautilities.command.Command;
import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandEvent;
import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.Bot;
import com.jagrosh.jmusicbot.commands.OwnerCommand; import com.jagrosh.jmusicbot.commands.OwnerCommand;
import com.jagrosh.jmusicbot.commands.owner.AutoplaylistCmd;
import com.jagrosh.jmusicbot.playlist.PlaylistLoader.Playlist; import com.jagrosh.jmusicbot.playlist.PlaylistLoader.Playlist;
/** /**
@@ -38,6 +37,7 @@ public class PlaylistCmd extends OwnerCommand
this.name = "playlist"; this.name = "playlist";
this.arguments = "<append|delete|make|setdefault>"; this.arguments = "<append|delete|make|setdefault>";
this.help = "playlist management"; this.help = "playlist management";
this.aliases = bot.getConfig().getAliases(this.name);
this.children = new OwnerCommand[]{ this.children = new OwnerCommand[]{
new ListCmd(), new ListCmd(),
new AppendlistCmd(), new AppendlistCmd(),
@@ -18,6 +18,7 @@ package com.jagrosh.jmusicbot.commands.owner;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandEvent;
import com.jagrosh.jmusicbot.Bot;
import com.jagrosh.jmusicbot.commands.OwnerCommand; import com.jagrosh.jmusicbot.commands.OwnerCommand;
import com.jagrosh.jmusicbot.utils.OtherUtil; import com.jagrosh.jmusicbot.utils.OtherUtil;
import net.dv8tion.jda.core.entities.Icon; import net.dv8tion.jda.core.entities.Icon;
@@ -28,11 +29,12 @@ import net.dv8tion.jda.core.entities.Icon;
*/ */
public class SetavatarCmd extends OwnerCommand public class SetavatarCmd extends OwnerCommand
{ {
public SetavatarCmd() public SetavatarCmd(Bot bot)
{ {
this.name = "setavatar"; this.name = "setavatar";
this.help = "sets the avatar of the bot"; this.help = "sets the avatar of the bot";
this.arguments = "<url>"; this.arguments = "<url>";
this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = false; this.guildOnly = false;
} }
@@ -16,6 +16,7 @@
package com.jagrosh.jmusicbot.commands.owner; package com.jagrosh.jmusicbot.commands.owner;
import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandEvent;
import com.jagrosh.jmusicbot.Bot;
import com.jagrosh.jmusicbot.commands.OwnerCommand; import com.jagrosh.jmusicbot.commands.OwnerCommand;
import net.dv8tion.jda.core.entities.Game; import net.dv8tion.jda.core.entities.Game;
@@ -25,11 +26,12 @@ import net.dv8tion.jda.core.entities.Game;
*/ */
public class SetgameCmd extends OwnerCommand public class SetgameCmd extends OwnerCommand
{ {
public SetgameCmd() public SetgameCmd(Bot bot)
{ {
this.name = "setgame"; this.name = "setgame";
this.help = "sets the game the bot is playing"; this.help = "sets the game the bot is playing";
this.arguments = "[action] [game]"; this.arguments = "[action] [game]";
this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = false; this.guildOnly = false;
this.children = new OwnerCommand[]{ this.children = new OwnerCommand[]{
new SetlistenCmd(), new SetlistenCmd(),
@@ -26,11 +26,12 @@ import net.dv8tion.jda.core.exceptions.RateLimitedException;
*/ */
public class SetnameCmd extends OwnerCommand public class SetnameCmd extends OwnerCommand
{ {
public SetnameCmd() public SetnameCmd(Bot bot)
{ {
this.name = "setname"; this.name = "setname";
this.help = "sets the name of the bot"; this.help = "sets the name of the bot";
this.arguments = "<name>"; this.arguments = "<name>";
this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = false; this.guildOnly = false;
} }
@@ -16,6 +16,7 @@
package com.jagrosh.jmusicbot.commands.owner; package com.jagrosh.jmusicbot.commands.owner;
import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.command.CommandEvent;
import com.jagrosh.jmusicbot.Bot;
import com.jagrosh.jmusicbot.commands.OwnerCommand; import com.jagrosh.jmusicbot.commands.OwnerCommand;
import net.dv8tion.jda.core.OnlineStatus; import net.dv8tion.jda.core.OnlineStatus;
@@ -25,11 +26,12 @@ import net.dv8tion.jda.core.OnlineStatus;
*/ */
public class SetstatusCmd extends OwnerCommand public class SetstatusCmd extends OwnerCommand
{ {
public SetstatusCmd() public SetstatusCmd(Bot bot)
{ {
this.name = "setstatus"; this.name = "setstatus";
this.help = "sets the status the bot displays"; this.help = "sets the status the bot displays";
this.arguments = "<status>"; this.arguments = "<status>";
this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = false; this.guildOnly = false;
} }
@@ -32,6 +32,7 @@ public class ShutdownCmd extends OwnerCommand
this.bot = bot; this.bot = bot;
this.name = "shutdown"; this.name = "shutdown";
this.help = "safely shuts down"; this.help = "safely shuts down";
this.aliases = bot.getConfig().getAliases(this.name);
this.guildOnly = false; this.guildOnly = false;
} }
+63
View File
@@ -123,6 +123,69 @@ updatealerts=true
lyrics.default = "A-Z Lyrics" lyrics.default = "A-Z Lyrics"
// These settings allow you to configure custom aliases for all commands.
// Multiple aliases may be given, separated by commas.
//
// Example 1: Giving command "play" the alias "p":
// play = [ p ]
//
// Example 2: Giving command "search" the aliases "yts" and "find":
// search = [ yts, find ]
aliases {
// General commands
settings = [ status ]
// Music commands
lyrics = []
nowplaying = [ np, current ]
play = []
playlists = [ pls ]
queue = [ list ]
remove = [ delete ]
scsearch = []
search = [ ytsearch ]
shuffle = []
skip = [ voteskip ]
// Admin commands
setdj = []
settc = []
setvc = []
// DJ Commands
forceremove = [ forcedelete, modremove, moddelete ]
forceskip = [ modskip ]
movetrack = [ move ]
pause = []
playnext = []
repeat = []
skipto = [ jumpto ]
stop = []
volume = [ vol ]
// Owner commands
autoplaylist = []
debug = []
eval = []
playlist = []
setavatar = []
setgame = []
setname = []
setstatus = []
shutdown = []
}
// If you set this to true, it will enable the eval command for the bot owner. This command // If you set this to true, it will enable the eval command for the bot owner. This command
// allows the bot owner to run arbitrary code from the bot's account. // allows the bot owner to run arbitrary code from the bot's account.
// //