protected override void OnMessageReceived(string userNickName, string userColorCode, string text, bool isWhisper) { if (_bombBinderCommander == null) { return; } if (!text.StartsWith("!") || text.Equals("!")) { return; } text = text.Substring(1).Trim(); string[] split = text.ToLowerInvariant().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string textAfter = split.Skip(1).Join(); switch (split[0]) { case "binder": if ((TwitchPlaySettings.data.EnableMissionBinder && TwitchPlaySettings.data.EnableTwitchPlaysMode) || UserAccess.HasAccess(userNickName, AccessLevel.Admin, true) || TwitchPlaySettings.data.AnarchyMode) { _coroutineQueue.AddToQueue(_bombBinderCommander.RespondToCommand(userNickName, textAfter, null, isWhisper)); } else { IRCConnection.Instance.SendMessage(TwitchPlaySettings.data.MissionBinderDisabled, userNickName); } break; case "freeplay": if ((TwitchPlaySettings.data.EnableFreeplayBriefcase && TwitchPlaySettings.data.EnableTwitchPlaysMode) || UserAccess.HasAccess(userNickName, AccessLevel.Admin, true) || TwitchPlaySettings.data.AnarchyMode) { _coroutineQueue.AddToQueue(_freeplayCommander.RespondToCommand(userNickName, textAfter, null, isWhisper)); } else { IRCConnection.Instance.SendMessage(TwitchPlaySettings.data.FreePlayDisabled, userNickName); } break; default: _coroutineQueue.AddToQueue(TPElevatorSwitch.Instance.ProcessElevatorCommand(split)); break; } }
protected override void OnMessageReceived(string userNickName, string userColorCode, string text) { if (_bombBinderCommander == null) { return; } Match binderMatch = Regex.Match(text, "^!binder (.+)", RegexOptions.IgnoreCase); if (binderMatch.Success) { _coroutineQueue.AddToQueue(_bombBinderCommander.RespondToCommand(userNickName, binderMatch.Groups[1].Value, null)); } Match freeplayMatch = Regex.Match(text, "^!freeplay (.+)", RegexOptions.IgnoreCase); if (freeplayMatch.Success) { _coroutineQueue.AddToQueue(_freeplayCommander.RespondToCommand(userNickName, freeplayMatch.Groups[1].Value, null)); } }