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:
Tom
2025-01-15 14:10:57 +00:00
parent 00cea32cfa
commit b00c72ec2a
5 changed files with 24 additions and 17 deletions

View File

@ -91,6 +91,9 @@ namespace HermesSocketServer.Socket.Handlers
OwnerId = _configuration.Tts.OwnerId,
Admin = sender.Admin,
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 } };
@ -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>();
string sql5 = $"SELECT v.name FROM \"TtsVoiceState\" s "
+ "INNER JOIN \"TtsVoice\" v ON s.\"ttsVoiceId\" = v.id "
+ "WHERE \"userId\" = @user AND state = true";
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);
string version = data.MajorVersion == null ? "unknown" : $"{data.MajorVersion}.{data.MinorVersion}";