2021-10-24 01:13:07 -04:00
|
|
|
|
using franz;
|
|
|
|
|
using System;
|
2021-10-24 01:25:17 -04:00
|
|
|
|
using System.Collections.Generic;
|
2021-10-24 01:13:07 -04:00
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using TwitchEventSub.Types.EventSubSubscription;
|
|
|
|
|
using Newtonsoft.Json;
|
2022-01-16 15:10:20 -05:00
|
|
|
|
using System.Net;
|
2021-10-24 01:13:07 -04:00
|
|
|
|
|
|
|
|
|
namespace twitcher
|
|
|
|
|
{
|
|
|
|
|
class Program
|
|
|
|
|
{
|
2022-01-16 15:10:20 -05:00
|
|
|
|
static TwitchEventSub.Receiver httpd;
|
|
|
|
|
static Config twitcherConf;
|
|
|
|
|
static Telefranz tf;
|
|
|
|
|
static HttpListener server;
|
2021-10-24 01:13:07 -04:00
|
|
|
|
static void Main(string[] args)
|
|
|
|
|
{
|
2022-01-16 15:10:20 -05:00
|
|
|
|
JsonConvert.DefaultSettings = () =>
|
|
|
|
|
{
|
2021-10-24 01:13:07 -04:00
|
|
|
|
var s = new JsonSerializerSettings();
|
|
|
|
|
s.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
|
|
|
|
|
return s;
|
|
|
|
|
};
|
|
|
|
|
if (!File.Exists("appsettings.json"))
|
|
|
|
|
{
|
|
|
|
|
Console.Error.WriteLine("appsettings.json was not found!");
|
|
|
|
|
twitcherConf = new Config();
|
|
|
|
|
File.WriteAllText("appsettings.json", JsonConvert.SerializeObject(twitcherConf, Formatting.Indented));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
twitcherConf = JsonConvert.DeserializeObject<Config>(File.ReadAllText("appsettings.json"));
|
2022-01-16 15:10:20 -05:00
|
|
|
|
|
|
|
|
|
var httpd = new Httpd(twitcherConf.port);
|
|
|
|
|
var theRunTask = httpd.go();
|
|
|
|
|
var token = OAuthTokenGetter.GetUser(httpd, twitcherConf.clientId, "localhost:8420/login");
|
|
|
|
|
|
|
|
|
|
//var token = OAuthTokenGetter.DoIt(client, twitcherConf.clientId, twitcherConf.clientSecret, new string[]{"channel:moderate"});
|
|
|
|
|
|
2021-10-24 01:13:07 -04:00
|
|
|
|
// Telefranz.Configure(name: twitcherConf.kafka_name, bootstrap_servers: twitcherConf.kafka_bootstrap);
|
|
|
|
|
// Task.WaitAll(Task.Delay(1000));
|
|
|
|
|
// tf = Telefranz.Instance;
|
2022-01-16 15:10:20 -05:00
|
|
|
|
|
2021-10-24 01:13:07 -04:00
|
|
|
|
//TODO: throw a request out somewhere asking for public url
|
|
|
|
|
//tf.ProduceMessage(new silver_messages.directorial.execute_command(){command = "ssl_expose", args = {twitcherConf.port.ToString()}});
|
|
|
|
|
|
2022-01-16 15:10:20 -05:00
|
|
|
|
var rec = new TwitchEventSub.Receiver(server, twitcherConf.clientId, twitcherConf.clientSecret, twitcherConf.public_uri);
|
|
|
|
|
|
|
|
|
|
var sm = new SilverMeddlistsSpecific(httpd, tf, twitcherConf.clientId);
|
2021-10-24 01:25:17 -04:00
|
|
|
|
Task.WaitAll(theRunTask);
|
2021-10-24 01:13:07 -04:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|