fixed setcolor

This commit is contained in:
Master Kwoth 2016-01-26 02:40:12 +01:00
parent ca0489928d
commit 5bfdd27d93

View File

@ -105,41 +105,46 @@ namespace NadekoBot.Modules
} catch (Exception) { } } catch (Exception) { }
}); });
cgb.CreateCommand(".rolecolor").Alias(".rc")
.Parameter("Rolename", ParameterType.Required)
.Parameter("r", ParameterType.Optional)
.Parameter("g", ParameterType.Optional)
cgb.CreateCommand(".color").Alias(".c") .Parameter("b", ParameterType.Optional)
.Parameter("Rolename", ParameterType.Required) .Description("Set a role's color to the hex or 0-255 color value provided.\n**Usage*: .color Admin 255 200 100 or .color Admin ffba55")
.Parameter("r", ParameterType.Optional) .Do(async e => {
.Parameter("g", ParameterType.Optional) if (!e.User.ServerPermissions.ManageRoles) {
.Parameter("b", ParameterType.Optional) await e.Channel.SendMessage("You don't have permission to use this!");
.Description("Set a role's color to the rgb(0-255 0-255 0-255) color value provided.") return;
.Do(async e => }
{
var args = e.Args.Where(s => s != String.Empty);
if (!e.User.ServerPermissions.ManageRoles) if (args.Count() != 2 && args.Count() != 4) {
{ await e.Send("The parameters are invalid.");
await e.Channel.SendMessage("You don't have permission to use this!"); return;
return; }
}
Role role = e.Server.FindRoles(e.Args[0]).FirstOrDefault();
if (role == null) {
await e.Send("That role does not exist.");
return;
}
try {
bool rgb = args.Count() == 4;
if (e.Args.Count() == 2 || e.Args.Count() == 4) byte red = Convert.ToByte(rgb ? int.Parse(e.Args[1]) : Convert.ToInt32(e.Args[1].Substring(0,2), 16));
{ byte green = Convert.ToByte(rgb ? int.Parse(e.Args[2]) : Convert.ToInt32(e.Args[1].Substring(2, 2), 16));
bool rgb = e.Args.Count() == 4; byte blue = Convert.ToByte(rgb ? int.Parse(e.Args[3]) : Convert.ToInt32(e.Args[1].Substring(4, 2), 16));
byte red = Convert.ToByte(rgb ? int.Parse(e.Args[1]) : Convert.ToInt32(e.Args[1].Substring(0, 2), 16));
byte green = Convert.ToByte(rgb ? int.Parse(e.Args[2]) : Convert.ToInt32(e.Args[1].Substring(2, 2), 16)); await role.Edit(color: new Color(red, green, blue));
byte blue = Convert.ToByte(rgb ? int.Parse(e.Args[3]) : Convert.ToInt32(e.Args[1].Substring(4, 2), 16)); await e.Channel.SendMessage($"Role {role.Name}'s color has been changed.");
Role role = e.Server.FindRoles(e.Args[0]).FirstOrDefault(); } catch (Exception ex) {
await role.Edit(color: new Color(red, green, blue)); await e.Send(":warning: Unspecified error, please report this.");
await e.Channel.SendMessage($"Role {role.Name}'s color has been changed."); Console.WriteLine($".rolecolor error: {ex}");
} }
else
await e.Channel.SendMessage("The parameters are invalid."); });
});
cgb.CreateCommand(".b").Alias(".ban") cgb.CreateCommand(".b").Alias(".ban")
@ -369,8 +374,6 @@ namespace NadekoBot.Modules
} }
output += "```"; output += "```";
await e.User.SendMessage(output); await e.User.SendMessage(output);
//await e.Send("```\n" + e.User.ServerPermissions.+"\n```");
}); });
Server commsServer = null; Server commsServer = null;