using HermesSocketServer.Services; using ILogger = Serilog.ILogger; namespace HermesSocketServer.Requests { public class GetTTSUsers : IRequest { public string Name => "get_tts_users"; public string[] RequiredKeys => []; private ChannelManager _channels; private ILogger _logger; public GetTTSUsers(ChannelManager channels, ILogger logger) { _channels = channels; _logger = logger; } public async Task Grant(string sender, IDictionary? data) { var channel = _channels.Get(sender); var results = channel.Chatters.Get().ToDictionary(p => p.Key, p => p.Value.VoiceId); _logger.Information($"Fetched all chatters' selected tts voice for channel [channel: {sender}]"); return RequestResult.Successful(results, notifyClientsOnAccount: false); } } }