Search in sources :

Example 1 with RewindCommand

use of fredboat.command.music.seeking.RewindCommand in project FredBoat by Frederikam.

the class CommandInitializer method initCommands.

public static void initCommands(@Nullable CacheMetricsCollector cacheMetrics, Weather weather, TrackSearcher trackSearcher, VideoSelectionCache videoSelectionCache, SentryConfiguration sentryConfiguration, PlayerLimiter playerLimiter, YoutubeAPI youtubeAPI) {
    // Administrative Module - always on (as in, essential commands for BOT_ADMINs and BOT_OWNER)
    CommandRegistry adminModule = new CommandRegistry(Module.ADMIN);
    adminModule.registerCommand(new AnnounceCommand("announce"));
    adminModule.registerCommand(new BotRestartCommand("botrestart"));
    adminModule.registerCommand(new DisableCommandsCommand("disable"));
    adminModule.registerCommand(new DiscordPermissionCommand("discordpermissions", "disperms"));
    adminModule.registerCommand(new EnableCommandsCommand("enable"));
    adminModule.registerCommand(new EvalCommand("eval"));
    adminModule.registerCommand(new ExitCommand("exit"));
    adminModule.registerCommand(new GetNodeCommand("getnode"));
    adminModule.registerCommand(new LeaveServerCommand("leaveserver"));
    adminModule.registerCommand(new NodeAdminCommand("node", "nodes"));
    adminModule.registerCommand(new PlayerDebugCommand("playerdebug"));
    adminModule.registerCommand(new ReviveCommand("revive"));
    adminModule.registerCommand(new SentryDsnCommand(sentryConfiguration, "sentrydsn"));
    adminModule.registerCommand(new SetAvatarCommand("setavatar"));
    adminModule.registerCommand(new UnblacklistCommand("unblacklist", "unlimit"));
    // Informational / Debugging / Maintenance - always on
    CommandRegistry infoModule = new CommandRegistry(Module.INFO);
    infoModule.registerCommand(new AudioDebugCommand("adebug"));
    infoModule.registerCommand(new CommandsCommand(COMMANDS_COMM_NAME, "comms", "cmds"));
    infoModule.registerCommand(new DebugCommand("debug"));
    infoModule.registerCommand(new FuzzyUserSearchCommand("fuzzy"));
    infoModule.registerCommand(new GetIdCommand("getid"));
    infoModule.registerCommand(new GitInfoCommand("gitinfo", "git"));
    infoModule.registerCommand(new HelloCommand("hello", "about"));
    infoModule.registerCommand(new HelpCommand(HELP_COMM_NAME, "info"));
    infoModule.registerCommand(new InviteCommand("invite"));
    infoModule.registerCommand(new MusicHelpCommand(MUSICHELP_COMM_NAME, "musichelp"));
    infoModule.registerCommand(new PingCommand("ping"));
    infoModule.registerCommand(new ShardsCommand("shards"));
    infoModule.registerCommand(new StatsCommand("stats", "uptime"));
    infoModule.registerCommand(new VersionCommand("version"));
    infoModule.registerCommand(new TextCommand("https://github.com/Frederikam", "github"));
    infoModule.registerCommand(new TextCommand(BotConstants.GITHUB_URL, "repo"));
    // Configurational stuff - always on
    CommandRegistry configModule = new CommandRegistry(Module.CONFIG);
    configModule.registerCommand(new ConfigCommand(CONFIG_COMM_NAME, "cfg"));
    configModule.registerCommand(new LanguageCommand(LANGUAGE_COMM_NAME, "lang"));
    configModule.registerCommand(new ModulesCommand("modules", "module", "mods"));
    configModule.registerCommand(new PrefixCommand(cacheMetrics, PREFIX_COMM_NAME, "pre"));
    /* Perms */
    configModule.registerCommand(new PermissionsCommand(PermissionLevel.ADMIN, "admin", "admins"));
    configModule.registerCommand(new PermissionsCommand(PermissionLevel.DJ, "dj", "djs"));
    configModule.registerCommand(new PermissionsCommand(PermissionLevel.USER, "user", "users"));
    // Moderation Module - Anything related to managing Discord guilds
    CommandRegistry moderationModule = new CommandRegistry(Module.MOD);
    moderationModule.registerCommand(new ClearCommand("clear"));
    moderationModule.registerCommand(new HardbanCommand("hardban", "hb"));
    moderationModule.registerCommand(new KickCommand("kick"));
    moderationModule.registerCommand(new SoftbanCommand("softban", "sb"));
    // Utility Module - Like Fun commands but without the fun ¯\_(ツ)_/¯
    CommandRegistry utilityModule = new CommandRegistry(Module.UTIL);
    utilityModule.registerCommand(new AvatarCommand("avatar", "ava"));
    utilityModule.registerCommand(new BrainfuckCommand("brainfuck"));
    utilityModule.registerCommand(new MALCommand("mal"));
    utilityModule.registerCommand(new MathCommand("math"));
    utilityModule.registerCommand(new RoleInfoCommand("roleinfo"));
    utilityModule.registerCommand(new ServerInfoCommand("serverinfo", "guildinfo"));
    utilityModule.registerCommand(new UserInfoCommand("userinfo", "memberinfo"));
    utilityModule.registerCommand(new WeatherCommand(weather, "weather"));
    // Fun Module - mostly ascii, memes, pictures, games
    CommandRegistry funModule = new CommandRegistry(Module.FUN);
    funModule.registerCommand(new AkinatorCommand("akinator", "aki"));
    funModule.registerCommand(new DanceCommand(cacheMetrics, "dance"));
    funModule.registerCommand(new JokeCommand("joke", "jk"));
    funModule.registerCommand(new RiotCommand("riot"));
    funModule.registerCommand(new SayCommand("say"));
    /* Other Anime Discord, Sergi memes or any other memes
           saved in this album https://imgur.com/a/wYvDu        */
    /* antique FredBoat staff insiders */
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/j8VvjOT.png", "rude"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/oJL7m7m.png", "fuck"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/BrCCbfx.png", "idc"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/jjoz783.png", "beingraped"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/w7x1885.png", "wow"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/GNsAxkh.png", "what"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/sBfq3wM.png", "pun"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/pQiT26t.jpg", "cancer"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/YT1Bkhj.png", "stupidbot"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/QmI469j.png", "escape"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/mKdTGlg.png", "noods"));
    funModule.registerCommand(new RestrictedRemoteFileCommand(PermissionLevel.BOT_ADMIN, "http://i.imgur.com/i65ss6p.png", "powerpoint"));
    funModule.registerCommand(new RemoteFileCommand("http://i.imgur.com/DYToB2e.jpg", "ram"));
    funModule.registerCommand(new RemoteFileCommand("http://i.imgur.com/utPRe0e.gif", "welcome", "whalecum"));
    funModule.registerCommand(new RemoteFileCommand("http://i.imgur.com/93VahIh.png", "anime"));
    funModule.registerCommand(new RemoteFileCommand("http://i.imgur.com/qz6g1vj.gif", "explosion"));
    funModule.registerCommand(new RemoteFileCommand("http://i.imgur.com/84nbpQe.png", "internetspeed"));
    /* Text Faces & Unicode 'Art' & ASCII 'Art' and Stuff */
    funModule.registerCommand(new TextCommand("¯\\_(ツ)_/¯", "shrug", "shr"));
    funModule.registerCommand(new TextCommand("ಠ_ಠ", "faceofdisapproval", "fod", "disapproving"));
    funModule.registerCommand(new TextCommand("༼ つ ◕_◕ ༽つ", "sendenergy"));
    funModule.registerCommand(new TextCommand("(•\\_•) ( •\\_•)>⌐■-■ (⌐■_■)", "dealwithit", "dwi"));
    funModule.registerCommand(new TextCommand("(ノ◕ヮ◕)ノ*:・゚✧ ✧゚・: *ヽ(◕ヮ◕ヽ)", "channelingenergy"));
    funModule.registerCommand(new TextCommand("Ƹ̵̡Ӝ̵̨̄Ʒ", "butterfly"));
    funModule.registerCommand(new TextCommand("(ノಠ益ಠ)ノ彡┻━┻", "angrytableflip", "tableflipbutangry", "atp"));
    funModule.registerCommand(new TextCommand(AsciiArtConstant.DOG, "dog", "cooldog", "dogmeme"));
    funModule.registerCommand(new TextCommand("T-that's l-lewd, baka!!!", "lewd", "lood", "l00d"));
    funModule.registerCommand(new TextCommand("This command is useless.", "useless"));
    funModule.registerCommand(new TextCommand("¯\\\\(°_o)/¯", "shrugwtf", "swtf"));
    funModule.registerCommand(new TextCommand("ヽ(^o^)ノ", "hurray", "yay", "woot"));
    /* Lennies */
    funModule.registerCommand(new TextCommand("/╲/╭( ͡° ͡° ͜ʖ ͡° ͡°)╮/╱\\", "spiderlenny"));
    funModule.registerCommand(new TextCommand("( ͡° ͜ʖ ͡°)", "lenny"));
    funModule.registerCommand(new TextCommand("┬┴┬┴┤ ͜ʖ ͡°) ├┬┴┬┴", "peeking", "peekinglenny", "peek"));
    funModule.registerCommand(new TextCommand(AsciiArtConstant.EAGLE_OF_LENNY, "eagleoflenny", "eol", "lennyeagle"));
    funModule.registerCommand(new MagicCommand("magic", "magicallenny", "lennymagical"));
    funModule.registerCommand(new TextCommand("( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)", "lennygang"));
    /* Random images / image collections */
    funModule.registerCommand(new CatgirlCommand("catgirl", "neko", "catgrill"));
    funModule.registerCommand(new FacedeskCommand("https://imgur.com/a/I5Q4U", "facedesk"));
    funModule.registerCommand(new HugCommand("https://imgur.com/a/jHJOc", "hug"));
    funModule.registerCommand(new PatCommand("https://imgur.com/a/WiPTl", "pat"));
    funModule.registerCommand(new RollCommand("https://imgur.com/a/lrEwS", "roll"));
    funModule.registerCommand(new RandomImageCommand("https://imgur.com/a/mnhzS", "wombat"));
    funModule.registerCommand(new RandomImageCommand("https://imgur.com/a/hfL80", "capybara"));
    funModule.registerCommand(new RandomImageCommand("https://imgur.com/a/WvjQA", "quokka"));
    // Music Module
    CommandRegistry musicModule = new CommandRegistry(Module.MUSIC);
    /* Control */
    musicModule.registerCommand(new DestroyCommand("destroy"));
    musicModule.registerCommand(new JoinCommand("join", "summon", "jn", "j"));
    musicModule.registerCommand(new LeaveCommand("leave", "lv"));
    musicModule.registerCommand(new PauseCommand("pause", "pa", "ps"));
    musicModule.registerCommand(new PlayCommand(playerLimiter, trackSearcher, videoSelectionCache, Arrays.asList(SearchProvider.YOUTUBE, SearchProvider.SOUNDCLOUD), PLAY_COMM_NAME, "p"));
    musicModule.registerCommand(new PlayCommand(playerLimiter, trackSearcher, videoSelectionCache, Collections.singletonList(SearchProvider.YOUTUBE), YOUTUBE_COMM_NAME, "yt"));
    musicModule.registerCommand(new PlayCommand(playerLimiter, trackSearcher, videoSelectionCache, Collections.singletonList(SearchProvider.SOUNDCLOUD), SOUNDCLOUD_COMM_NAME, "sc"));
    musicModule.registerCommand(new PlaySplitCommand(playerLimiter, "split"));
    musicModule.registerCommand(new RepeatCommand("repeat", "rep", "loop"));
    musicModule.registerCommand(new ReshuffleCommand("reshuffle", "resh"));
    musicModule.registerCommand(new SelectCommand(videoSelectionCache, "select", buildNumericalSelectAliases("sel")));
    musicModule.registerCommand(new ShuffleCommand("shuffle", "sh", "random"));
    musicModule.registerCommand(new SkipCommand(SKIP_COMM_NAME, "sk", "s"));
    musicModule.registerCommand(new StopCommand("stop", "st"));
    musicModule.registerCommand(new UnpauseCommand("unpause", "unp", "resume"));
    musicModule.registerCommand(new VolumeCommand("volume", "vol"));
    musicModule.registerCommand(new VoteSkipCommand("voteskip", "vsk", "v"));
    /* Info */
    musicModule.registerCommand(new ExportCommand("export", "ex"));
    musicModule.registerCommand(new GensokyoRadioCommand("gensokyo", "gr", "gensokyoradio"));
    musicModule.registerCommand(new HistoryCommand("history", "hist", "h"));
    musicModule.registerCommand(new ListCommand("list", "queue", "q", "l"));
    musicModule.registerCommand(new NowplayingCommand(youtubeAPI, "nowplaying", "np"));
    /* Seeking */
    musicModule.registerCommand(new ForwardCommand("forward", "fwd"));
    musicModule.registerCommand(new RestartCommand("restart", "replay"));
    musicModule.registerCommand(new RewindCommand("rewind", "rew"));
    musicModule.registerCommand(new SeekCommand("seek"));
}
Also used : RestartCommand(fredboat.command.music.seeking.RestartCommand) SeekCommand(fredboat.command.music.seeking.SeekCommand) KickCommand(fredboat.command.moderation.KickCommand) HardbanCommand(fredboat.command.moderation.HardbanCommand) RewindCommand(fredboat.command.music.seeking.RewindCommand) SoftbanCommand(fredboat.command.moderation.SoftbanCommand) ClearCommand(fredboat.command.moderation.ClearCommand) ForwardCommand(fredboat.command.music.seeking.ForwardCommand)

Aggregations

ClearCommand (fredboat.command.moderation.ClearCommand)1 HardbanCommand (fredboat.command.moderation.HardbanCommand)1 KickCommand (fredboat.command.moderation.KickCommand)1 SoftbanCommand (fredboat.command.moderation.SoftbanCommand)1 ForwardCommand (fredboat.command.music.seeking.ForwardCommand)1 RestartCommand (fredboat.command.music.seeking.RestartCommand)1 RewindCommand (fredboat.command.music.seeking.RewindCommand)1 SeekCommand (fredboat.command.music.seeking.SeekCommand)1