using System; using director; namespace ShowHandlers { public class TwitchStreamHandler : ShowHandler { public override TimeSpan LeadTimeDesired => TimeSpan.FromHours(4); public override void Handle(iCalHoopJumping.CalendarOccurrence evt) { Console.WriteLine("I am a twitch stream handler, it falls to me to..."); Console.WriteLine(" H A N D L E "); Console.WriteLine($"current time is {DateTime.Now}"); } protected void preShow_RunCommands(iCalHoopJumping.CalendarOccurrence evt) { // Console.WriteLine($"pre show: run commands: {string.Join(", ", PreShowCommands.Select(c => c.cmd))}"); // foreach (var cmd in PreShowCommands.OrderByDescending(cmd => cmd.leadTime)) // { // if (DateTime.Now < evt.OccurrenceStart - cmd.leadTime) // { // var waitTime = evt.OccurrenceStart - cmd.leadTime - DateTime.Now; // Console.WriteLine($"waiting {waitTime} before executing {cmd.cmd}"); // Task.WaitAll(Task.Delay(waitTime)); // } // var argsList = new List() { JsonConvert.SerializeObject(evt) }.Append(cmd.args).ToList(); // Console.WriteLine($"telefranzing execution: {cmd.cmd} with args {string.Join(' ', argsList)}"); // // Telefranz.Instance.ProduceMessage(new silver_messages.directorial.execute_command() // // { // // command = cmd.cmd, // // args = argsList, // // timeout = (int)cmd.timeout.TotalMilliseconds //TODO: update when franz gets updated // // }); // } // Console.WriteLine("seems all pre-show commands have been issued, but to be fair I wasn't listening for output."); } protected void PostShow(iCalHoopJumping.CalendarOccurrence evt) { // Console.WriteLine($"post show: run commands: {string.Join(", ", config.PostShow.Commands.Select(c => c.cmd))}"); // foreach (var cmd in config.PostShow.Commands) // { // var argsList = new List() { JsonConvert.SerializeObject(evt) }.Append(cmd.args).ToList(); // Console.WriteLine($"telefranzing execution: {cmd.cmd} with args {string.Join(' ', argsList)}"); // // Telefranz.Instance.ProduceMessage(new silver_messages.directorial.execute_command() // // { // // command = cmd.cmd, // // args = argsList, // // timeout = (int)cmd.timeout.TotalMilliseconds //TODO: update when franz gets updated // // }); // } // Console.WriteLine("seems all post-show commands have been issued, but to be fair I wasn't listening for output."); } } }