Added TTS Filter cache.
This commit is contained in:
45
Requests/UpdateTTSFilter.cs
Normal file
45
Requests/UpdateTTSFilter.cs
Normal file
@ -0,0 +1,45 @@
|
||||
using HermesSocketLibrary.Requests.Messages;
|
||||
using HermesSocketServer.Services;
|
||||
using ILogger = Serilog.ILogger;
|
||||
|
||||
namespace HermesSocketServer.Requests
|
||||
{
|
||||
public class UpdateTTSFilter : IRequest
|
||||
{
|
||||
public string Name => "update_tts_filter";
|
||||
public string[] RequiredKeys => ["id", "search", "replace"];
|
||||
private ChannelManager _channels;
|
||||
private ILogger _logger;
|
||||
|
||||
public UpdateTTSFilter(ChannelManager channels, ILogger logger)
|
||||
{
|
||||
_channels = channels;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<RequestResult> Grant(string sender, IDictionary<string, object>? data)
|
||||
{
|
||||
var id = data["id"].ToString()!;
|
||||
string search = data["search"].ToString()!;
|
||||
string replace = data["replace"].ToString()!;
|
||||
|
||||
var filter = new TTSWordFilter()
|
||||
{
|
||||
Id = id,
|
||||
UserId = sender,
|
||||
Search = search,
|
||||
Replace = replace,
|
||||
};
|
||||
|
||||
var channel = _channels.Get(sender);
|
||||
bool result = channel.Filters.Set(id, filter);
|
||||
|
||||
if (result)
|
||||
{
|
||||
_logger.Information($"Updated filter to channel [filter id: {id}][search: {search}][replace: {replace}][channel: {sender}]");
|
||||
return RequestResult.Successful(filter);
|
||||
}
|
||||
return RequestResult.Failed("Something went wrong when updating the cache.");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user