only addchecks left to have a functional system, but not polished one

This commit is contained in:
Master Kwoth
2016-02-11 16:09:24 +01:00
parent faa9a0eab7
commit c1fb5397ce
8 changed files with 183 additions and 111 deletions

View File

@ -3,6 +3,7 @@ using Discord.Modules;
using Discord.Commands;
using NadekoBot.Extensions;
using NadekoBot.Classes;
using PermsHandler = NadekoBot.Classes.Permissions.PermissionsHandler;
namespace NadekoBot.Modules {
class PermissionModule : DiscordModule
@ -29,9 +30,10 @@ namespace NadekoBot.Modules {
{
try
{
PermissionHelper.ValidateModule(e.GetArg("module"));
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
PermsHandler.SetServerModulePermission(e.Server, module, state);
await e.Send("I'm setting " + e.GetArg("module") + " to " + state);
}
catch (ArgumentException exArg)
@ -53,9 +55,10 @@ namespace NadekoBot.Modules {
{
try
{
PermissionHelper.ValidateCommand(e.GetArg("command"));
string command = PermissionHelper.ValidateCommand(e.GetArg("command"));
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
PermsHandler.SetServerCommandPermission(e.Server, command, state);
await e.Send("I'm setting " + e.GetArg("command") + " to " + state);
}
catch (ArgumentException exArg)
@ -71,15 +74,18 @@ namespace NadekoBot.Modules {
cgb.CreateCommand(trigger + "srm").Alias(trigger + "setrolemodule")
.Parameter("module", ParameterType.Required)
.Parameter("bool", ParameterType.Required)
.Parameter("role", ParameterType.Unparsed)
.Description("Sets a module's permission at the role level.")
// .AddCheck() -> fix this
.Do(async e =>
{
try
{
PermissionHelper.ValidateModule(e.GetArg("module"));
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
Discord.Role role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
PermsHandler.SetRoleModulePermission(role, module, state);
await e.Send("I'm setting " + e.GetArg("module") + " to " + state);
}
catch (ArgumentException exArg)
@ -95,15 +101,18 @@ namespace NadekoBot.Modules {
cgb.CreateCommand(trigger + "src").Alias(trigger + "setrolecommand")
.Parameter("command", ParameterType.Required)
.Parameter("bool", ParameterType.Required)
.Parameter("role",ParameterType.Unparsed)
.Description("Sets a command's permission at the role level.")
// .AddCheck() -> fix this
.Do(async e =>
{
try
{
PermissionHelper.ValidateCommand(e.GetArg("command"));
string command = PermissionHelper.ValidateCommand(e.GetArg("command"));
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
Discord.Role role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
PermsHandler.SetRoleCommandPermission(role, command, state);
await e.Send("I'm setting " + e.GetArg("command") + " to " + state);
}
catch (ArgumentException exArg)
@ -119,15 +128,18 @@ namespace NadekoBot.Modules {
cgb.CreateCommand(trigger + "scm").Alias(trigger + "setchannelmodule")
.Parameter("module", ParameterType.Required)
.Parameter("bool", ParameterType.Required)
.Parameter("channel", ParameterType.Unparsed)
.Description("Sets a module's permission at the channel level.")
// .AddCheck() -> fix this
.Do(async e =>
{
try
{
PermissionHelper.ValidateModule(e.GetArg("module"));
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
Discord.Channel channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
PermsHandler.SetChannelModulePermission(channel, module, state);
await e.Send("I'm setting " + e.GetArg("module") + " to " + state);
}
catch (ArgumentException exArg)
@ -143,15 +155,18 @@ namespace NadekoBot.Modules {
cgb.CreateCommand(trigger + "scc").Alias(trigger + "setchannelcommand")
.Parameter("command", ParameterType.Required)
.Parameter("bool", ParameterType.Required)
.Parameter("channel", ParameterType.Unparsed)
.Description("Sets a command's permission at the channel level.")
// .AddCheck() -> fix this
.Do(async e =>
{
try
{
PermissionHelper.ValidateCommand(e.GetArg("command"));
string command = PermissionHelper.ValidateCommand(e.GetArg("command"));
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
Discord.Channel channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
PermsHandler.SetChannelCommandPermission(channel, command, state);
await e.Send("I'm setting " + e.GetArg("command") + " to " + state);
}
catch (ArgumentException exArg)
@ -167,15 +182,18 @@ namespace NadekoBot.Modules {
cgb.CreateCommand(trigger + "sum").Alias(trigger + "setusermodule")
.Parameter("module", ParameterType.Required)
.Parameter("bool", ParameterType.Required)
.Parameter("user", ParameterType.Unparsed)
.Description("Sets a module's permission at the user level.")
// .AddCheck() -> fix this
.Do(async e =>
{
try
{
PermissionHelper.ValidateModule(e.GetArg("module"));
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
Discord.User user = PermissionHelper.ValidateUser(e.Server, e.GetArg("user"));
PermsHandler.SetUserModulePermission(user, module, state);
await e.Send("I'm setting " + e.GetArg("module") + " to " + state);
}
catch (ArgumentException exArg)
@ -191,15 +209,18 @@ namespace NadekoBot.Modules {
cgb.CreateCommand(trigger + "suc").Alias(trigger + "setusercommand")
.Parameter("command", ParameterType.Required)
.Parameter("bool", ParameterType.Required)
.Parameter("user", ParameterType.Unparsed)
.Description("Sets a command's permission at the user level.")
// .AddCheck() -> fix this
.Do(async e =>
{
try
{
PermissionHelper.ValidateModule(e.GetArg("command"));
string command = PermissionHelper.ValidateCommand(e.GetArg("command"));
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
Discord.User user = PermissionHelper.ValidateUser(e.Server, e.GetArg("user"));
PermsHandler.SetUserCommandPermission(user, command, state);
await e.Send("I'm setting " + e.GetArg("command") + " to " + state);
}
catch (ArgumentException exArg)