001package co.aikar.commands;
002
003import net.dv8tion.jda.api.JDA;
004import org.jetbrains.annotations.NotNull;
005
006public class JDAOptions {
007    CommandConfig defaultConfig = new JDACommandConfig();
008    CommandConfigProvider configProvider = null;
009    CommandPermissionResolver permissionResolver = new JDACommandPermissionResolver();
010
011    public JDAOptions() {
012    }
013
014    public JDAOptions defaultConfig(@NotNull CommandConfig defaultConfig) {
015        this.defaultConfig = defaultConfig;
016        return this;
017    }
018
019    public JDAOptions configProvider(@NotNull CommandConfigProvider configProvider) {
020        this.configProvider = configProvider;
021        return this;
022    }
023
024    public JDAOptions permissionResolver(@NotNull CommandPermissionResolver permissionResolver) {
025        this.permissionResolver = permissionResolver;
026        return this;
027    }
028
029    public JDACommandManager create(JDA jda) {
030        return new JDACommandManager(jda, this);
031    }
032}