Regex: Add character name override

Sendas uses a different character's name for messages, so allow
the use of a character name override in the regex match function.
This overrides substituteParams to use a different value.

Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
kingbri
2023-07-05 01:24:50 -04:00
parent b8f86d55da
commit afdab4c5b6
3 changed files with 21 additions and 15 deletions

View File

@@ -4888,7 +4888,9 @@ function updateMessage(div) {
let text = mesBlock.find(".edit_textarea").val();
const mes = chat[this_edit_mes_id];
let regexPlacement;
if (mes.is_name && !mes.is_user) {
if (mes.is_name && !mes.is_user && mes.name !== name2) {
regexPlacement = regex_placement.SENDAS;
} else if (mes.is_name && !mes.is_user) {
regexPlacement = regex_placement.AI_OUTPUT;
} else if (mes.is_name && mes.is_user) {
regexPlacement = regex_placement.USER_INPUT;
@@ -4896,7 +4898,13 @@ function updateMessage(div) {
regexPlacement = regex_placement.SYSTEM;
}
const regexResult = getRegexedString(text, regexPlacement);
const regexResult = getRegexedString(
text,
regexPlacement,
{
characterOverride: regexPlacement === regex_placement.SENDAS ? mes.name : undefined
}
);
if (regexResult) {
text = regexResult;
}