package io.shockah.skylark.botcontrol;
import io.shockah.skylark.Bot;
import io.shockah.skylark.commands.CommandCall;
import io.shockah.skylark.commands.CommandResult;
import io.shockah.skylark.commands.NamedCommand;
import io.shockah.skylark.event.GenericUserMessageEvent;
public class ReloadModulesCommand extends NamedCommand<Void, String> {
private final BotControlPlugin plugin;
public ReloadModulesCommand(BotControlPlugin plugin) {
super("reload");
this.plugin = plugin;
}
@Override
public Void parseInput(GenericUserMessageEvent e, String input) {
return null;
}
@Override
public CommandResult<String> call(CommandCall call, Void input) {
if (call.outputMedium == null)
call.outputMedium = CommandCall.Medium.Notice;
if (!plugin.permissionsPlugin.permissionGranted(call.event.getUser(), plugin, names[0]))
return CommandResult.error("Permission required.");
call.event.<Bot>getBot().manager.serverManager.app.pluginManager.reload();
if (call.outputMedium == null)
call.outputMedium = CommandCall.Medium.Notice;
return CommandResult.of("Done.");
}
}