30 lines
1013 B
C#
30 lines
1013 B
C#
using CommonSocketLibrary.Abstract;
|
|
using CommonSocketLibrary.Common;
|
|
using HermesSocketLibrary.Socket.Data;
|
|
using Serilog;
|
|
|
|
namespace TwitchChatTTS.Hermes.Socket.Handlers
|
|
{
|
|
public class SlaveHandler : IWebSocketHandler
|
|
{
|
|
private readonly User _user;
|
|
private readonly ILogger _logger;
|
|
public int OperationCode { get; } = 9;
|
|
|
|
public SlaveHandler(User user, ILogger logger)
|
|
{
|
|
_user = user;
|
|
_logger = logger;
|
|
}
|
|
|
|
public Task Execute<Data>(SocketClient<WebSocketMessage> sender, Data data)
|
|
{
|
|
if (data is not SlaveMessage message || message == null)
|
|
return Task.CompletedTask;
|
|
|
|
_user.Slave = message.Slave;
|
|
_logger.Information(_user.Slave ? "Total chat message ownership was revoked." : "This client is now responsible for reacting to chat messages. Potential chat messages were missed while changing ownership.");
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|
|
} |