public DisableCommandChatCommand() : base(MixItUp.Base.Resources.DisableCommand, new List <string>() { "disablecommand" }, 5, UserRoleEnum.Mod) { this.Actions.Add(new CustomAction(async(UserViewModel user, IEnumerable <string> arguments) => { if (arguments.Count() == 1) { string commandTrigger = arguments.ElementAt(0).ToLower(); PermissionsCommandBase command = ChannelSession.AllEnabledChatCommands.FirstOrDefault(c => c.Commands.Contains(commandTrigger, StringComparer.InvariantCultureIgnoreCase)); if (command == null) { await ChannelSession.Services.Chat.SendMessage("ERROR: Could not find any command with that trigger"); return; } command.IsEnabled = false; if (ChannelSession.Services.Chat != null) { await ChannelSession.Services.Chat.SendMessage("Disabled Command: !" + commandTrigger); ChannelSession.Services.Chat.RebuildCommandTriggers(); } } else { await ChannelSession.Services.Chat.SendMessage("Usage: !disablecommand <COMMAND TRIGGER, NO !>"); } })); }
public DisableCommandChatCommand() : base("Disable Command", new List <string>() { "disablecommand" }, 5, MixerRoleEnum.Mod) { this.Actions.Add(new CustomAction(async(UserViewModel user, IEnumerable <string> arguments) => { if (arguments.Count() == 1) { string commandTrigger = arguments.ElementAt(0).ToLower(); PermissionsCommandBase command = ChannelSession.AllChatCommands.FirstOrDefault(c => c.Commands.Contains(commandTrigger)); if (command == null) { await ChannelSession.Chat.Whisper(user.UserName, "ERROR: Could not find any command with that trigger"); return; } command.IsEnabled = false; if (ChannelSession.Chat != null) { await ChannelSession.Chat.SendMessage("Disabled Command: !" + commandTrigger); } } else { await ChannelSession.Chat.Whisper(user.UserName, "Usage: !disablecommand <COMMAND TRIGGER, NO !>"); } })); }
public UpdateCommandChatCommand() : base(MixItUp.Base.Resources.UpdateCommand, new List <string>() { "updatecommand", "editcommand" }, 5, UserRoleEnum.Mod) { this.Actions.Add(new CustomAction(async(UserViewModel user, IEnumerable <string> arguments) => { if (arguments.Count() >= 2) { string commandTrigger = arguments.ElementAt(0).ToLower(); PermissionsCommandBase command = ChannelSession.AllEnabledChatCommands.FirstOrDefault(c => c.Commands.Contains(commandTrigger, StringComparer.InvariantCultureIgnoreCase)); if (command == null) { await ChannelSession.Services.Chat.SendMessage("ERROR: Could not find any command with that trigger"); return; } if (!int.TryParse(arguments.ElementAt(1), out int cooldown) || cooldown < 0) { await ChannelSession.Services.Chat.SendMessage("ERROR: Cooldown must be 0 or greater"); return; } command.Requirements.Cooldown.Amount = cooldown; if (arguments.Count() > 2) { StringBuilder commandTextBuilder = new StringBuilder(); foreach (string arg in arguments.Skip(2)) { commandTextBuilder.Append(arg + " "); } string commandText = commandTextBuilder.ToString(); commandText = commandText.Trim(new char[] { ' ', '\'', '\"' }); command.Actions.Clear(); command.Actions.Add(new ChatAction(commandText)); } if (ChannelSession.Services.Chat != null) { await ChannelSession.Services.Chat.SendMessage("Updated Command: !" + commandTrigger); ChannelSession.Services.Chat.RebuildCommandTriggers(); } } else { await ChannelSession.Services.Chat.SendMessage("Usage: !updatecommand <COMMAND TRIGGER, NO !> <COOLDOWN> [OPTIONAL FULL COMMAND MESSAGE TEXT]"); } })); }