Search in sources :

Example 51 with XEmbedBuilder

use of com.github.vaerys.objects.XEmbedBuilder in project DiscordSailv2 by Vaerys-Dawn.

the class Toggle method getContent.

public String getContent(String args, CommandObject command, boolean isModule) {
    StringBuilder builder = new StringBuilder();
    if (!args.isEmpty()) {
        GuildToggle toggle = ToggleInit.getGuildToggle(args, isModule);
        if (toggle == null) {
            if (isModule) {
                builder.append("> Could not find Module \"" + args + "\".\n");
            } else {
                builder.append("> Could not find Setting \"" + args + "\".\n");
            }
        } else {
            toggle.toggle(command.guild.config);
            command.guild.loadCommandData();
            String mode = toggle.enabled(command.guild.config) ? "enabled" : "disabled";
            String type = toggle.isModule() ? "module" : "setting";
            String helpCommand = toggle.isModule() ? new HelpModules().getUsage(command) : new HelpSettings().getUsage(command);
            return "> **" + toggle.name() + "** is now **" + mode + "**.\n\n" + "To see more info about what this " + type + " " + mode + " you can run **" + helpCommand + "**.";
        }
    }
    XEmbedBuilder embedBuilder = new XEmbedBuilder(command);
    String modifier = isModule ? "Module" : "Setting";
    String title;
    title = "> Here are all of the available " + modifier + "s:\n";
    List<SAILType> typesActive = new LinkedList<>();
    List<SAILType> typesDeactivated = new LinkedList<>();
    for (GuildToggle t : command.guild.toggles) {
        if (t.isModule() == isModule) {
            if (t.enabled(command.guild.config))
                typesActive.add(t.name());
            else
                typesDeactivated.add(t.name());
        }
    }
    Collections.sort(typesActive);
    Collections.sort(typesDeactivated);
    embedBuilder.withTitle(title);
    StringHandler desc = new StringHandler();
    desc.append("**Activated**\n```\n" + spacer + Utility.listEnumFormatter(typesActive, true) + "```\n" + "**Deactivated**\n```\n" + spacer + Utility.listEnumFormatter(typesDeactivated, true) + "```\n");
    desc.append("The Command **");
    if (isModule) {
        desc.append(new HelpModules().getUsage(command));
    } else {
        desc.append(new HelpSettings().getUsage(command));
    }
    desc.append("** Can give you extra information about each of the above.\n\n");
    desc.append(missingArgs(command));
    embedBuilder.withDescription(desc.toString());
    RequestHandler.sendEmbedMessage("", embedBuilder, command.channel.get());
    return null;
}
Also used : XEmbedBuilder(com.github.vaerys.objects.XEmbedBuilder) SAILType(com.github.vaerys.enums.SAILType) GuildToggle(com.github.vaerys.templates.GuildToggle) HelpModules(com.github.vaerys.commands.help.HelpModules) StringHandler(com.github.vaerys.handlers.StringHandler) HelpSettings(com.github.vaerys.commands.help.HelpSettings) LinkedList(java.util.LinkedList)

Aggregations

XEmbedBuilder (com.github.vaerys.objects.XEmbedBuilder)51 ArrayList (java.util.ArrayList)15 ChannelSetting (com.github.vaerys.enums.ChannelSetting)10 SAILType (com.github.vaerys.enums.SAILType)10 CommandObject (com.github.vaerys.commands.CommandObject)9 IUser (sx.blah.discord.handle.obj.IUser)9 Utility (com.github.vaerys.main.Utility)8 UserObject (com.github.vaerys.masterobjects.UserObject)8 Collectors (java.util.stream.Collectors)8 Command (com.github.vaerys.templates.Command)7 List (java.util.List)6 Permissions (sx.blah.discord.handle.obj.Permissions)6 RequestHandler (com.github.vaerys.handlers.RequestHandler)5 StringHandler (com.github.vaerys.handlers.StringHandler)5 ProfileObject (com.github.vaerys.objects.ProfileObject)5 IRole (sx.blah.discord.handle.obj.IRole)5 CCommandObject (com.github.vaerys.objects.CCommandObject)4 SplitFirstObject (com.github.vaerys.objects.SplitFirstObject)4 GuildToggle (com.github.vaerys.templates.GuildToggle)4 LinkedList (java.util.LinkedList)4