/// <summary> /// Mod command. Resets the blocked words set on a privileges group. /// </summary> /// <param name="command">The command.</param> /// <param name="core">The core.</param> public static void ResetBlockedWords(Command command, Core core = null) { if (Tools.IsNotModThenSendWarning(command)) { return; } if (string.IsNullOrEmpty(command.Arguement)) { Entites.Message.SendMessage(Message.Answer(command.Message, "You must specify the privileges group which's blocked words shall be reseted.")); return; } Entites.Privileges privileges = Privileges.GetPrivileges(command.Message.UserToChannel.Channel, command.Arguement); if (privileges == null) { Entites.Message.SendMessage(Message.Answer(command.Message, $"No privileges group nammed {command.Arguement} was found.")); return; } DAL.Privileges.LoadRules(privileges).Rules.BlockedWords = BlockedWord.GetDefaultBlockedWords(); DAL.Rules.UpdateBlockedWords(privileges.Rules); Entites.Message.SendMessage(Message.Answer(command.Message, $"Blocked words of {command.Arguement} were successfully reinitialized.")); }
/// <summary> /// Mod command. Sets the rules applying to a privileges group. /// </summary> /// <param name="command">The command.</param> /// <param name="core">The core.</param> public static void SetRules(Command command, Core core = null) { if (Tools.IsNotModThenSendWarning(command)) { return; } string[] arguements = command.SplitArguements(count: 7); if (arguements.Length < 7) { Entites.Message.SendMessage(Message.Answer(command.Message, "Incorect syntax. Please use the following one: /setrules privileges messageDelayInSeconds extensionBlocked? domainBlocked? messageTypeBlocked? blockedWordsEnabled? r9kEnabled?. Note that the fields ending by ? must be either 'y' or 'n'.")); return; } for (int i = 2; i < arguements.Length; ++i) { if (!arguements[i].Equals("y", StringComparison.InvariantCultureIgnoreCase) && !arguements[i].Equals("n", StringComparison.InvariantCultureIgnoreCase)) { Entites.Message.SendMessage(Message.Answer(command.Message, "Incorect syntax. Please use the following one: /setrules privileges messageDelayInSeconds extensionBlocked? domainBlocked? messageTypeBlocked? blockedWordsEnabled? r9kEnabled?. Note that the fields ending by ? must be either 'y' or 'n'.")); return; } } if (!int.TryParse(arguements[1], out int messageDelay)) { Entites.Message.SendMessage(Message.Answer(command.Message, $"Please write a time in seconds rather than {arguements[1]}")); return; } Entites.Privileges privileges = Privileges.GetPrivileges(command.Message.UserToChannel.Channel, arguements[0]); if (privileges == null) { Entites.Message.SendMessage(Message.Answer(command.Message, $"No privileges group nammed {arguements[0]} was found.")); return; } DAL.Privileges.LoadRules(privileges); privileges.Rules.SpamDelay = messageDelay <= 0 ? null : (TimeSpan?)TimeSpan.FromSeconds(messageDelay); privileges.Rules.ExtensionBlocked = "y".Equals(arguements[2], StringComparison.InvariantCultureIgnoreCase); privileges.Rules.DomainBlocked = "y".Equals(arguements[3], StringComparison.InvariantCultureIgnoreCase); privileges.Rules.MessageTypeBlocked = "y".Equals(arguements[4], StringComparison.InvariantCultureIgnoreCase); privileges.Rules.BlockedWordsEnabled = "y".Equals(arguements[5], StringComparison.InvariantCultureIgnoreCase); privileges.Rules.R9KEnabled = "y".Equals(arguements[6], StringComparison.InvariantCultureIgnoreCase); DAL.Rules.Update(privileges.Rules); Entites.Message.SendMessage(Message.Answer(command.Message, $"The rules of {arguements[0]} were successfully updated.")); }
private static string SetPrivilegesAnalyzes(Command command) { if (!Tools.IsMod(command.Message.UserToChannel)) { return("This command is reserved for moderators."); } string[] arguements = command.Arguement.Split(new[] { ' ' }, 2); string user; string privilegesName; if (arguements.Length > 1) { user = arguements[0].Substring(1); privilegesName = arguements[1]; } else { user = command.Message.UserToChannel.User.CurrentUserName.Username; privilegesName = arguements[0]; } Entites.UserToChannel userToChannel = Get(DAL.UserName.LoadOwnedBy(DAL.UserName.GetFromUsername(user, command.Message.ApplicationName)) .OwnedBy as Entites.User, command.Message.UserToChannel.Channel); if (userToChannel == null) { return($"No one nammed @{user} was found."); } Entites.Privileges privileges = Privileges.GetPrivileges(command.Message.UserToChannel.Channel, privilegesName); if (privileges == null) { return($"No privileges group nammed {privilegesName} was found."); } userToChannel.PrivilegesId = privileges.PrivilegesId; Update(userToChannel); return($"Your privileges group is now set to {privilegesName}."); }