credentials.json changed, some moved to data/config.json, blacklisting

This commit is contained in:
Master Kwoth
2016-03-03 21:24:07 +01:00
parent a6ebff0a17
commit d62275d1c8
16 changed files with 168 additions and 104 deletions

View File

@ -248,7 +248,7 @@ namespace NadekoBot.Modules {
e.Channel.SendFile("ripzor_m8.png",
RipName(text, string.IsNullOrWhiteSpace(e.GetArg("year")) ? null : e.GetArg("year")));
});
if (!NadekoBot.Creds.DontJoinServers) {
if (!NadekoBot.Config.DontJoinServers) {
cgb.CreateCommand("j")
.Description("Joins a server using a code.")
.Parameter("id", ParameterType.Required)

View File

@ -1,23 +1,24 @@
using System;
using Discord.Modules;
using Discord.Commands;
using NadekoBot.Classes;
using PermsHandler = NadekoBot.Classes.Permissions.PermissionsHandler;
using System.Linq;
using System.Threading.Tasks;
using NadekoBot.Classes.Permissions;
using NadekoBot.Extensions;
namespace NadekoBot.Modules {
internal class PermissionModule : DiscordModule {
private const string prefix = ";";
public PermissionModule() {
public PermissionModule() {
//Empty for now
}
//todo word filtering/invite bans (?:discord(?:\.gg|app\.com\/invite)\/(?<id>([\w]{16}|(?:[\w]+-?){3})))
public override void Install(ModuleManager manager) {
manager.CreateCommands("", cgb => {
cgb.AddCheck(Classes.Permissions.PermissionChecker.Instance);
cgb.AddCheck(PermissionChecker.Instance);
commands.ForEach(cmd => cmd.Init(cgb));
@ -35,8 +36,7 @@ namespace NadekoBot.Modules {
Discord.Role role = null;
try {
role = PermissionHelper.ValidateRole(e.Server, arg);
}
catch (Exception ex) {
} catch (Exception ex) {
Console.WriteLine(ex.Message);
await e.Channel.SendMessage($"Role `{arg}` probably doesn't exist. Create the role with that name first.");
return;
@ -76,8 +76,7 @@ namespace NadekoBot.Modules {
if (!string.IsNullOrWhiteSpace(arg))
try {
role = PermissionHelper.ValidateRole(e.Server, arg);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("💢 Error: " + ex.Message);
return;
}
@ -99,8 +98,7 @@ namespace NadekoBot.Modules {
if (!string.IsNullOrWhiteSpace(arg))
try {
channel = PermissionHelper.ValidateChannel(e.Server, arg);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("💢 Error: " + ex.Message);
return;
}
@ -120,8 +118,7 @@ namespace NadekoBot.Modules {
if (!string.IsNullOrWhiteSpace(e.GetArg("user")))
try {
user = PermissionHelper.ValidateUser(e.Server, e.GetArg("user"));
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("💢 Error: " + ex.Message);
return;
}
@ -143,11 +140,9 @@ namespace NadekoBot.Modules {
PermsHandler.SetServerModulePermission(e.Server, module, state);
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** on this server.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -163,11 +158,9 @@ namespace NadekoBot.Modules {
PermsHandler.SetServerCommandPermission(e.Server, command, state);
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** on this server.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -187,18 +180,15 @@ namespace NadekoBot.Modules {
PermsHandler.SetRoleModulePermission(role, module, state);
}
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** for **ALL** roles.");
}
else {
} else {
var role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
PermsHandler.SetRoleModulePermission(role, module, state);
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** for **{role.Name}** role.");
}
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -218,18 +208,15 @@ namespace NadekoBot.Modules {
PermsHandler.SetRoleCommandPermission(role, command, state);
}
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** for **ALL** roles.");
}
else {
} else {
var role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
PermsHandler.SetRoleCommandPermission(role, command, state);
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** for **{role.Name}** role.");
}
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -249,18 +236,15 @@ namespace NadekoBot.Modules {
PermsHandler.SetChannelModulePermission(channel, module, state);
}
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** on **ALL** channels.");
}
else {
} else {
var channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
PermsHandler.SetChannelModulePermission(channel, module, state);
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** for **{channel.Name}** channel.");
}
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -280,18 +264,15 @@ namespace NadekoBot.Modules {
PermsHandler.SetChannelCommandPermission(channel, command, state);
}
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** on **ALL** channels.");
}
else {
} else {
var channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
PermsHandler.SetChannelCommandPermission(channel, command, state);
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** for **{channel.Name}** channel.");
}
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -309,11 +290,9 @@ namespace NadekoBot.Modules {
PermsHandler.SetUserModulePermission(user, module, state);
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** for user **{user.Name}**.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -331,11 +310,9 @@ namespace NadekoBot.Modules {
PermsHandler.SetUserCommandPermission(user, command, state);
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** for user **{user.Name}**.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -351,11 +328,9 @@ namespace NadekoBot.Modules {
PermsHandler.SetServerModulePermission(e.Server, module.Name, state);
}
await e.Channel.SendMessage($"All modules have been **{(state ? "enabled" : "disabled")}** on this server.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -373,11 +348,9 @@ namespace NadekoBot.Modules {
PermsHandler.SetServerCommandPermission(e.Server, command.Text, state);
}
await e.Channel.SendMessage($"All commands from the **{module}** module have been **{(state ? "enabled" : "disabled")}** on this server.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -395,11 +368,9 @@ namespace NadekoBot.Modules {
}
await e.Channel.SendMessage($"All modules have been **{(state ? "enabled" : "disabled")}** for **{channel.Name}** channel.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -418,11 +389,9 @@ namespace NadekoBot.Modules {
PermsHandler.SetChannelCommandPermission(channel, command.Text, state);
}
await e.Channel.SendMessage($"All commands from the **{module}** module have been **{(state ? "enabled" : "disabled")}** for **{channel.Name}** channel.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -440,11 +409,9 @@ namespace NadekoBot.Modules {
}
await e.Channel.SendMessage($"All modules have been **{(state ? "enabled" : "disabled")}** for **{role.Name}** role.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
@ -463,14 +430,57 @@ namespace NadekoBot.Modules {
PermsHandler.SetRoleCommandPermission(role, command.Text, state);
}
await e.Channel.SendMessage($"All commands from the **{module}** module have been **{(state ? "enabled" : "disabled")}** for **{role.Name}** role.");
}
catch (ArgumentException exArg) {
} catch (ArgumentException exArg) {
await e.Channel.SendMessage(exArg.Message);
}
catch (Exception ex) {
} catch (Exception ex) {
await e.Channel.SendMessage("Something went terribly wrong - " + ex.Message);
}
});
cgb.CreateCommand(prefix + "ubl")
.Description("Blacklists a mentioned user.\n**Usage**: ;ubl [user_mention]")
.Parameter("user", ParameterType.Unparsed)
.Do(async e => {
await Task.Run(async () => {
if (!e.Message.MentionedUsers.Any()) return;
var usr = e.Message.MentionedUsers.First();
NadekoBot.Config.UserBlacklist.Add(usr.Id);
NadekoBot.SaveConfig();
await e.Channel.SendMessage($"`Sucessfully blacklisted user {usr.Name}`");
});
});
cgb.CreateCommand(prefix + "ucl")
.Description("Blacklists a mentioned channel (#general for example).\n**Usage**: ;ubl [channel_mention]")
.Parameter("user", ParameterType.Unparsed)
.Do(async e => {
await Task.Run(async () => {
if (!e.Message.MentionedChannels.Any()) return;
var ch = e.Message.MentionedChannels.First();
NadekoBot.Config.UserBlacklist.Add(ch.Id);
NadekoBot.SaveConfig();
await e.Channel.SendMessage($"`Sucessfully blacklisted channel {ch.Name}`");
});
});
cgb.CreateCommand(prefix + "usl")
.Description("Blacklists a server by a name or id (#general for example).\n**Usage**: ;usl [servername/serverid]")
.Parameter("user", ParameterType.Unparsed)
.Do(async e => {
await Task.Run(async () => {
var arg = e.GetArg("user");
if (string.IsNullOrWhiteSpace(arg))
return;
var server = NadekoBot.Client.FindServers(arg.Trim()).FirstOrDefault();
if (server == null) {
await e.Channel.SendMessage("Cannot find that server");
return;
}
NadekoBot.Config.ServerBlacklist.Add(server.Id);
NadekoBot.SaveConfig();
await e.Channel.SendMessage($"`Sucessfully blacklisted server {server.Name}`");
});
});
});
}
}