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 !>");
                }
            }));
        }
Ejemplo n.º 2
0
        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]");
                }
            }));
        }