Changed command dictionary to a command tree. Fixed various requests. OBS reconnection added if identified previously.
This commit is contained in:
@ -1,41 +0,0 @@
|
||||
using Serilog;
|
||||
using CommonSocketLibrary.Socket.Manager;
|
||||
using CommonSocketLibrary.Common;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace TwitchChatTTS.Seven.Socket.Managers
|
||||
{
|
||||
public class SevenHandlerManager : WebSocketHandlerManager
|
||||
{
|
||||
public SevenHandlerManager(ILogger logger, IServiceProvider provider) : base(logger)
|
||||
{
|
||||
try
|
||||
{
|
||||
var basetype = typeof(IWebSocketHandler);
|
||||
var assembly = GetType().Assembly;
|
||||
var types = assembly.GetTypes().Where(t => t.IsClass && basetype.IsAssignableFrom(t) && t.AssemblyQualifiedName?.Contains(".Seven.") == true);
|
||||
|
||||
foreach (var type in types)
|
||||
{
|
||||
var key = "7tv-" + type.Name.Replace("Handlers", "Hand#lers")
|
||||
.Replace("Handler", "")
|
||||
.Replace("Hand#lers", "Handlers")
|
||||
.ToLower();
|
||||
var handler = provider.GetKeyedService<IWebSocketHandler>(key);
|
||||
if (handler == null)
|
||||
{
|
||||
logger.Error("Failed to find 7tv websocket handler: " + type.AssemblyQualifiedName);
|
||||
continue;
|
||||
}
|
||||
|
||||
_logger.Debug($"Linked type {type.AssemblyQualifiedName} to 7tv websocket handler {handler.GetType().AssemblyQualifiedName}.");
|
||||
Add(handler);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.Error(e, "Failed to load 7tv websocket handler types.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,3 @@
|
||||
using CommonSocketLibrary.Abstract;
|
||||
using CommonSocketLibrary.Common;
|
||||
using CommonSocketLibrary.Socket.Manager;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
@ -6,13 +5,12 @@ using Serilog;
|
||||
|
||||
namespace TwitchChatTTS.Seven.Socket.Managers
|
||||
{
|
||||
public class SevenHandlerTypeManager : WebSocketHandlerTypeManager
|
||||
public class SevenMessageTypeManager : WebSocketMessageTypeManager
|
||||
{
|
||||
public SevenHandlerTypeManager(
|
||||
ILogger factory,
|
||||
[FromKeyedServices("7tv")] HandlerManager<WebSocketClient,
|
||||
IWebSocketHandler> handlers
|
||||
) : base(factory, handlers)
|
||||
public SevenMessageTypeManager(
|
||||
[FromKeyedServices("7tv")] IEnumerable<IWebSocketHandler> handlers,
|
||||
ILogger logger
|
||||
) : base(handlers, logger)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user