public static void CheckCommand(ITwitchMessage twitchMessage) { Log.Message($"Checking command - {twitchMessage.Message}"); if (twitchMessage == null) { return; } if (twitchMessage.Message == null) { return; } string message = twitchMessage.Message; string user = twitchMessage.Username; Viewer viewer = Viewers.GetViewer(user); viewer.last_seen = DateTime.Now; if (viewer.IsBanned) { return; } Command commandDef = DefDatabase <Command> .AllDefs.ToList().Find(s => twitchMessage.Message.StartsWith("!" + s.command)); if (commandDef != null) { bool runCommand = true; if (commandDef.requiresMod && (!viewer.mod && viewer.username.ToLower() != ToolkitSettings.Channel.ToLower())) { runCommand = false; } if (commandDef.requiresAdmin && twitchMessage.Username.ToLower() != ToolkitSettings.Channel.ToLower()) { runCommand = false; } if (!commandDef.enabled) { runCommand = false; } if (runCommand) { commandDef.RunCommand(twitchMessage); } } }
public static void CheckCommand(TwitchIRCMessage msg) { if (msg == null) { return; } if (msg.Message == null) { return; } Viewer viewer = msg.Viewer; viewer.WasSeen(); if (viewer.IsBanned) { return; } if (!msg.Message.StartsWith("!")) { IRCMessageLog.AddNewMessage(msg); } Command commandDef = DefDatabase <Command> .AllDefs.ToList().Find(s => msg.Message.StartsWith("!" + s.command)); if (commandDef != null) { bool runCommand = true; if (commandDef.requiresMod && (!viewer.Mod && viewer.UsernameLower != ToolkitSettings.Channel.ToLower())) { runCommand = false; } if (commandDef.requiresAdmin && msg.User.ToLower() != ToolkitSettings.Channel.ToLower()) { runCommand = false; } if (!commandDef.enabled) { runCommand = false; } if (commandDef.shouldBeInSeparateRoom && !AllowCommand(msg)) { runCommand = false; } if (runCommand) { commandDef.RunCommand(msg); } } List <TwitchInterfaceBase> modExtensions = Current.Game.components.OfType <TwitchInterfaceBase>().ToList(); if (modExtensions == null) { return; } foreach (TwitchInterfaceBase parser in modExtensions) { parser.ParseCommand(msg); } }
public static void CheckCommand(IRCMessage msg) { if (msg == null) { return; } if (msg.Message == null) { return; } string message = msg.Message; string user = msg.User; if (message.Split(' ')[0] == "/w") { List <string> messagewhisper = message.Split(' ').ToList(); messagewhisper.RemoveAt(0); message = string.Join(" ", messagewhisper.ToArray()); Helper.Log(message); } Viewer viewer = Viewers.GetViewer(user); viewer.last_seen = DateTime.Now; if (viewer.IsBanned) { return; } Command commandDef = DefDatabase <Command> .AllDefs.ToList().Find(s => msg.Message.StartsWith("!" + s.command)); if (commandDef != null) { bool runCommand = true; if (commandDef.requiresMod && (!viewer.mod && viewer.username.ToLower() != ToolkitSettings.Channel.ToLower())) { runCommand = false; } if (commandDef.requiresAdmin && msg.User.ToLower() != ToolkitSettings.Channel.ToLower()) { runCommand = false; } if (!commandDef.enabled) { runCommand = false; } if (commandDef.shouldBeInSeparateRoom && !AllowCommand(msg)) { runCommand = false; } if (runCommand) { commandDef.RunCommand(msg); } } List <TwitchInterfaceBase> modExtensions = Current.Game.components.OfType <TwitchInterfaceBase>().ToList(); if (modExtensions == null) { return; } foreach (TwitchInterfaceBase parser in modExtensions) { parser.ParseCommand(msg); } }