Added several request messages. Added redemptions. Added life TTS voice changes. A bunch of stuffs.
This commit is contained in:
86
Startup.cs
86
Startup.cs
@@ -12,17 +12,19 @@ using Serilog;
|
||||
using Serilog.Events;
|
||||
using YamlDotNet.Serialization;
|
||||
using YamlDotNet.Serialization.NamingConventions;
|
||||
using Microsoft.AspNetCore.Connections;
|
||||
|
||||
|
||||
var deserializer = new DeserializerBuilder()
|
||||
var yamlDeserializer = new DeserializerBuilder()
|
||||
.WithNamingConvention(HyphenatedNamingConvention.Instance)
|
||||
.Build();
|
||||
|
||||
var configFileName = "server.config.yml";
|
||||
if (File.Exists("server.config." + Environment.GetEnvironmentVariable("TTS_ENV").ToLower() + ".yml"))
|
||||
configFileName = "server.config." + Environment.GetEnvironmentVariable("TTS_ENV").ToLower() + ".yml";
|
||||
var environment = Environment.GetEnvironmentVariable("TTS_ENV")!.ToLower();
|
||||
if (File.Exists("server.config." + environment + ".yml"))
|
||||
configFileName = "server.config." + environment + ".yml";
|
||||
var configContent = File.ReadAllText(configFileName);
|
||||
var configuration = deserializer.Deserialize<ServerConfiguration>(configContent);
|
||||
var configuration = yamlDeserializer.Deserialize<ServerConfiguration>(configContent);
|
||||
|
||||
if (configuration.Environment.ToUpper() != "QA" && configuration.Environment.ToUpper() != "PROD")
|
||||
throw new Exception("Invalid environment set.");
|
||||
@@ -36,12 +38,20 @@ builder.Services.Configure<ForwardedHeadersOptions>(options =>
|
||||
});
|
||||
|
||||
builder.WebHost.UseUrls($"http://{configuration.WebsocketServer.Host}:{configuration.WebsocketServer.Port}");
|
||||
var logger = new LoggerConfiguration()
|
||||
.MinimumLevel.Debug()
|
||||
.Enrich.FromLogContext()
|
||||
.WriteTo.File("logs/log.log", rollingInterval: RollingInterval.Day, retainedFileCountLimit: 7)
|
||||
.WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Information)
|
||||
.CreateLogger();
|
||||
var loggerConfiguration = new LoggerConfiguration();
|
||||
if (configuration.Environment.ToUpper() == "QA")
|
||||
loggerConfiguration.MinimumLevel.Verbose();
|
||||
else
|
||||
loggerConfiguration.MinimumLevel.Debug();
|
||||
|
||||
loggerConfiguration.Enrich.FromLogContext()
|
||||
.WriteTo.File($"logs/{configuration.Environment.ToUpper()}/serverlog-.log", rollingInterval: RollingInterval.Day, retainedFileCountLimit: 7);
|
||||
if (configuration.Environment.ToUpper() == "QA")
|
||||
loggerConfiguration.WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Debug);
|
||||
else
|
||||
loggerConfiguration.WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Information);
|
||||
|
||||
var logger = loggerConfiguration.CreateLogger();
|
||||
|
||||
builder.Host.UseSerilog(logger);
|
||||
builder.Logging.AddSerilog(logger);
|
||||
@@ -54,32 +64,37 @@ s.AddSingleton<Database>();
|
||||
|
||||
// Socket message handlers
|
||||
s.AddSingleton<Serilog.ILogger>(logger);
|
||||
s.AddKeyedSingleton<ISocketHandler, HeartbeatHandler>("hermes-heartbeat");
|
||||
s.AddKeyedSingleton<ISocketHandler, HermesLoginHandler>("hermes-hermeslogin");
|
||||
s.AddKeyedSingleton<ISocketHandler, RequestHandler>("hermes-request");
|
||||
s.AddKeyedSingleton<ISocketHandler, ErrorHandler>("hermes-error");
|
||||
s.AddKeyedSingleton<ISocketHandler, ChatterHandler>("hermes-chatter");
|
||||
s.AddKeyedSingleton<ISocketHandler, EmoteDetailsHandler>("hermes-emotedetails");
|
||||
s.AddKeyedSingleton<ISocketHandler, EmoteUsageHandler>("hermes-emoteusage");
|
||||
s.AddSingleton<ISocketHandler, HeartbeatHandler>();
|
||||
s.AddSingleton<ISocketHandler, HermesLoginHandler>();
|
||||
s.AddSingleton<ISocketHandler, RequestHandler>();
|
||||
s.AddSingleton<ISocketHandler, LoggingHandler>();
|
||||
s.AddSingleton<ISocketHandler, ChatterHandler>();
|
||||
s.AddSingleton<ISocketHandler, EmoteDetailsHandler>();
|
||||
s.AddSingleton<ISocketHandler, EmoteUsageHandler>();
|
||||
|
||||
// Request handlers
|
||||
s.AddKeyedSingleton<IRequest, GetTTSUsers>("BanTTSUser");
|
||||
s.AddKeyedSingleton<IRequest, GetTTSUsers>("GetTTSUsers");
|
||||
s.AddKeyedSingleton<IRequest, GetTTSVoices>("GetTTSVoices");
|
||||
s.AddKeyedSingleton<IRequest, GetTTSWordFilters>("GetTTSWordFilters");
|
||||
s.AddKeyedSingleton<IRequest, CreateTTSUser>("CreateTTSUser");
|
||||
s.AddKeyedSingleton<IRequest, CreateTTSVoice>("CreateTTSVoice");
|
||||
s.AddKeyedSingleton<IRequest, DeleteTTSVoice>("DeleteTTSVoice");
|
||||
s.AddKeyedSingleton<IRequest, UpdateTTSUser>("UpdateTTSUser");
|
||||
s.AddKeyedSingleton<IRequest, UpdateTTSVoice>("UpdateTTSVoice");
|
||||
s.AddKeyedSingleton<IRequest, GetChatterIds>("GetChatterIds");
|
||||
s.AddKeyedSingleton<IRequest, GetEmotes>("GetEmotes");
|
||||
s.AddKeyedSingleton<IRequest, UpdateTTSVoiceState>("UpdateTTSVoiceState");
|
||||
s.AddSingleton<IRequest, GetTTSUsers>();
|
||||
s.AddSingleton<IRequest, GetTTSVoices>();
|
||||
s.AddSingleton<IRequest, GetTTSWordFilters>();
|
||||
s.AddSingleton<IRequest, CreateTTSUser>();
|
||||
s.AddSingleton<IRequest, CreateTTSVoice>();
|
||||
s.AddSingleton<IRequest, DeleteTTSVoice>();
|
||||
s.AddSingleton<IRequest, UpdateTTSUser>();
|
||||
s.AddSingleton<IRequest, UpdateTTSVoice>();
|
||||
s.AddSingleton<IRequest, GetChatterIds>();
|
||||
s.AddSingleton<IRequest, GetDefaultTTSVoice>();
|
||||
s.AddSingleton<IRequest, GetEmotes>();
|
||||
s.AddSingleton<IRequest, GetEnabledTTSVoices>();
|
||||
s.AddSingleton<IRequest, GetPermissions>();
|
||||
s.AddSingleton<IRequest, GetRedemptions>();
|
||||
s.AddSingleton<IRequest, GetRedeemableActions>();
|
||||
s.AddSingleton<IRequest, UpdateTTSVoiceState>();
|
||||
s.AddSingleton<IRequest, UpdateDefaultTTSVoice>();
|
||||
|
||||
s.AddSingleton<HermesSocketManager>();
|
||||
s.AddSingleton<SocketHandlerManager>();
|
||||
s.AddSingleton<RequestManager, ServerRequestManager>();
|
||||
s.AddSingleton<JsonSerializerOptions>(new JsonSerializerOptions()
|
||||
s.AddSingleton<IRequestManager, RequestManager>();
|
||||
s.AddSingleton(new JsonSerializerOptions()
|
||||
{
|
||||
PropertyNameCaseInsensitive = false,
|
||||
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower
|
||||
@@ -89,10 +104,15 @@ s.AddSingleton<Server>();
|
||||
var app = builder.Build();
|
||||
app.UseForwardedHeaders();
|
||||
app.UseSerilogRequestLogging();
|
||||
app.UseWebSockets(new WebSocketOptions()
|
||||
|
||||
var wsOptions = new WebSocketOptions()
|
||||
{
|
||||
KeepAliveInterval = TimeSpan.FromSeconds(30)
|
||||
});
|
||||
};
|
||||
// wsOptions.AllowedOrigins.Add("wss://tomtospeech.com");
|
||||
//wsOptions.AllowedOrigins.Add("ws.tomtospeech.com");
|
||||
//wsOptions.AllowedOrigins.Add("hermes-ws.goblincaves.com");
|
||||
app.UseWebSockets(wsOptions);
|
||||
|
||||
var options = app.Services.GetRequiredService<JsonSerializerOptions>();
|
||||
var server = app.Services.GetRequiredService<Server>();
|
||||
|
||||
Reference in New Issue
Block a user