forked from adam/discord-bot-shtik
50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
namespace vassago
|
|
{
|
|
using Microsoft.EntityFrameworkCore;
|
|
using vassago;
|
|
using vassago.Models;
|
|
using vassago.TwitchInterface;
|
|
|
|
internal class ConsoleService : IHostedService
|
|
{
|
|
|
|
public ConsoleService(IConfiguration aspConfig)
|
|
{
|
|
Shared.DBConnectionString = aspConfig["DBConnectionString"];
|
|
DiscordTokens = aspConfig.GetSection("DiscordTokens").Get<IEnumerable<string>>();
|
|
TwitchConfigs = aspConfig.GetSection("TwitchConfigs").Get<IEnumerable<TwitchConfig>>();
|
|
Conversion.Converter.Load(aspConfig["ExchangePairsLocation"]);
|
|
}
|
|
|
|
IEnumerable<string> DiscordTokens { get; }
|
|
IEnumerable<TwitchConfig> TwitchConfigs { get; }
|
|
|
|
public async Task StartAsync(CancellationToken cancellationToken)
|
|
{
|
|
var dbc = new ChattingContext();
|
|
await dbc.Database.MigrateAsync();
|
|
|
|
if (DiscordTokens?.Any() ?? false)
|
|
foreach (var dt in DiscordTokens)
|
|
{
|
|
var d = new DiscordInterface.DiscordInterface();
|
|
await d.Init(dt);
|
|
ProtocolInterfaces.ProtocolList.discords.Add(d);
|
|
}
|
|
|
|
if (TwitchConfigs?.Any() ?? false)
|
|
foreach (var tc in TwitchConfigs)
|
|
{
|
|
var t = new TwitchInterface.TwitchInterface();
|
|
await t.Init(tc);
|
|
ProtocolInterfaces.ProtocolList.twitchs.Add(t);
|
|
}
|
|
Console.WriteLine("survived initting");
|
|
}
|
|
|
|
public Task StopAsync(CancellationToken cancellationToken)
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
} |