director/showHandlers/TwitchStreamHandler.cs

58 lines
2.9 KiB
C#

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<string>() { 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<string>() { 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.");
}
}
}