Added TTS flags. Fixed adding, modifying and loading TTS Filters. Changed TTS Filters loading from database to TTS Fitler Store on login ack.
This commit is contained in:
@ -20,6 +20,10 @@ namespace HermesSocketServer.Requests
|
|||||||
var id = Guid.NewGuid();
|
var id = Guid.NewGuid();
|
||||||
string search = data["search"].ToString()!;
|
string search = data["search"].ToString()!;
|
||||||
string replace = data["replace"].ToString()!;
|
string replace = data["replace"].ToString()!;
|
||||||
|
int flag = 0;
|
||||||
|
if (data.TryGetValue("flag", out var flagObject)) {
|
||||||
|
int.TryParse(flagObject.ToString(), out flag);
|
||||||
|
}
|
||||||
|
|
||||||
var filter = new TTSWordFilter()
|
var filter = new TTSWordFilter()
|
||||||
{
|
{
|
||||||
@ -27,6 +31,7 @@ namespace HermesSocketServer.Requests
|
|||||||
UserId = channel.Id,
|
UserId = channel.Id,
|
||||||
Search = search,
|
Search = search,
|
||||||
Replace = replace,
|
Replace = replace,
|
||||||
|
Flag = flag,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool result = channel.Filters.Set(id.ToString(), filter);
|
bool result = channel.Filters.Set(id.ToString(), filter);
|
||||||
|
@ -6,7 +6,7 @@ namespace HermesSocketServer.Requests
|
|||||||
public class UpdateRedemption : IRequest
|
public class UpdateRedemption : IRequest
|
||||||
{
|
{
|
||||||
public string Name => "update_redemption";
|
public string Name => "update_redemption";
|
||||||
public string[] RequiredKeys => ["id", "redemption", "action", "order"];
|
public string[] RequiredKeys => ["id", "redemption", "action", "order", "state"];
|
||||||
private ILogger _logger;
|
private ILogger _logger;
|
||||||
|
|
||||||
public UpdateRedemption(ILogger logger)
|
public UpdateRedemption(ILogger logger)
|
||||||
|
@ -21,6 +21,10 @@ namespace HermesSocketServer.Requests
|
|||||||
var id = data["id"].ToString()!;
|
var id = data["id"].ToString()!;
|
||||||
string search = data["search"].ToString()!;
|
string search = data["search"].ToString()!;
|
||||||
string replace = data["replace"].ToString()!;
|
string replace = data["replace"].ToString()!;
|
||||||
|
int flag = -1;
|
||||||
|
if (data.TryGetValue("flag", out var flagObject)) {
|
||||||
|
int.TryParse(flagObject.ToString(), out flag);
|
||||||
|
}
|
||||||
|
|
||||||
var filter = new TTSWordFilter()
|
var filter = new TTSWordFilter()
|
||||||
{
|
{
|
||||||
@ -28,9 +32,15 @@ namespace HermesSocketServer.Requests
|
|||||||
UserId = channel.Id,
|
UserId = channel.Id,
|
||||||
Search = search,
|
Search = search,
|
||||||
Replace = replace,
|
Replace = replace,
|
||||||
|
Flag = flag,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool result = channel.Filters.Set(id, filter);
|
bool result = channel.Filters.Modify(id, f => {
|
||||||
|
f.Search = search;
|
||||||
|
f.Replace = replace;
|
||||||
|
if (flag >= 0)
|
||||||
|
f.Flag = flag;
|
||||||
|
});
|
||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
|
@ -91,6 +91,9 @@ namespace HermesSocketServer.Socket.Handlers
|
|||||||
OwnerId = _configuration.Tts.OwnerId,
|
OwnerId = _configuration.Tts.OwnerId,
|
||||||
Admin = sender.Admin,
|
Admin = sender.Admin,
|
||||||
WebLogin = data.WebLogin,
|
WebLogin = data.WebLogin,
|
||||||
|
WordFilters = channel.Filters.Get().Values,
|
||||||
|
DefaultTTSVoice = channel.User.DefaultVoice ?? _configuration.Tts.DefaultTtsVoice,
|
||||||
|
TTSVoicesAvailable = _voices.Get().ToDictionary(v => v.Key, v => v.Value.Name),
|
||||||
};
|
};
|
||||||
|
|
||||||
var userIdDict = new Dictionary<string, object>() { { "user", userId } };
|
var userIdDict = new Dictionary<string, object>() { { "user", userId } };
|
||||||
@ -110,25 +113,12 @@ namespace HermesSocketServer.Socket.Handlers
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
ack.TTSVoicesAvailable = _voices.Get().ToDictionary(v => v.Key, v => v.Value.Name);
|
|
||||||
|
|
||||||
ack.EnabledTTSVoices = new List<string>();
|
ack.EnabledTTSVoices = new List<string>();
|
||||||
string sql5 = $"SELECT v.name FROM \"TtsVoiceState\" s "
|
string sql5 = $"SELECT v.name FROM \"TtsVoiceState\" s "
|
||||||
+ "INNER JOIN \"TtsVoice\" v ON s.\"ttsVoiceId\" = v.id "
|
+ "INNER JOIN \"TtsVoice\" v ON s.\"ttsVoiceId\" = v.id "
|
||||||
+ "WHERE \"userId\" = @user AND state = true";
|
+ "WHERE \"userId\" = @user AND state = true";
|
||||||
await _database.Execute(sql5, userIdDict, (r) => ack.EnabledTTSVoices.Add(r.GetString(0)));
|
await _database.Execute(sql5, userIdDict, (r) => ack.EnabledTTSVoices.Add(r.GetString(0)));
|
||||||
|
|
||||||
ack.WordFilters = new List<TTSWordFilter>();
|
|
||||||
string sql6 = $"SELECT id, search, replace FROM \"TtsWordFilter\" WHERE \"userId\" = @user";
|
|
||||||
await _database.Execute(sql6, userIdDict, (r) => ack.WordFilters.Add(new TTSWordFilter()
|
|
||||||
{
|
|
||||||
Id = r.GetString(0),
|
|
||||||
Search = r.GetString(1),
|
|
||||||
Replace = r.GetString(2)
|
|
||||||
}));
|
|
||||||
|
|
||||||
ack.DefaultTTSVoice = channel.User.DefaultVoice ?? _configuration.Tts.DefaultTtsVoice;
|
|
||||||
|
|
||||||
await sender.Send(2, ack);
|
await sender.Send(2, ack);
|
||||||
|
|
||||||
string version = data.MajorVersion == null ? "unknown" : $"{data.MajorVersion}.{data.MinorVersion}";
|
string version = data.MajorVersion == null ? "unknown" : $"{data.MajorVersion}.{data.MinorVersion}";
|
||||||
|
@ -22,15 +22,17 @@ namespace HermesSocketServer.Store
|
|||||||
public override async Task Load()
|
public override async Task Load()
|
||||||
{
|
{
|
||||||
var data = new Dictionary<string, object>() { { "user", _userId } };
|
var data = new Dictionary<string, object>() { { "user", _userId } };
|
||||||
string sql = $"SELECT id, search, replace FROM \"TtsWordFilter\" WHERE \"userId\" = @user";
|
string sql = $"SELECT id, search, replace, flag FROM \"TtsWordFilter\" WHERE \"userId\" = @user";
|
||||||
await _database.Execute(sql, data, (reader) =>
|
await _database.Execute(sql, data, (reader) =>
|
||||||
{
|
{
|
||||||
var id = reader.GetString(0);
|
var id = reader.GetString(0);
|
||||||
_store.Add(id.ToString(), new TTSWordFilter()
|
_store.Add(id.ToString(), new TTSWordFilter()
|
||||||
{
|
{
|
||||||
Id = id,
|
Id = id,
|
||||||
|
UserId = _userId,
|
||||||
Search = reader.GetString(1),
|
Search = reader.GetString(1),
|
||||||
Replace = reader.GetString(2)
|
Replace = reader.GetString(2),
|
||||||
|
Flag = reader.GetInt32(3),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
_logger.Information($"Loaded {_store.Count} TTS chatter voices from database.");
|
_logger.Information($"Loaded {_store.Count} TTS chatter voices from database.");
|
||||||
|
Reference in New Issue
Block a user