2021-08-21 00:55:33 -04:00
|
|
|
using System;
|
2021-08-21 00:15:37 -04:00
|
|
|
using director;
|
2021-08-20 01:48:35 -04:00
|
|
|
|
|
|
|
namespace ShowHandlers
|
|
|
|
{
|
2021-09-01 01:16:29 -04:00
|
|
|
public class TwitchStreamHandler : ShowHandler
|
2021-08-20 01:48:35 -04:00
|
|
|
{
|
2021-09-03 07:18:38 -04:00
|
|
|
public override TimeSpan LeadTimeDesired => TimeSpan.FromHours(4);
|
|
|
|
|
2021-09-01 01:16:29 -04:00
|
|
|
public override void Handle(iCalHoopJumping.CalendarOccurrence evt)
|
2021-08-20 01:48:35 -04:00
|
|
|
{
|
2021-08-21 00:55:33 -04:00
|
|
|
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}");
|
2021-08-20 01:48:35 -04:00
|
|
|
}
|
2021-09-03 07:18:38 -04:00
|
|
|
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.");
|
|
|
|
}
|
2021-08-20 01:48:35 -04:00
|
|
|
}
|
|
|
|
}
|