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(SocketClient 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; } } }