Add lastMessage macro. Substitute params in CFG negative prompts

This commit is contained in:
Cohee
2023-11-16 16:58:49 +02:00
parent d114ebf6fa
commit f4630f9808
4 changed files with 21 additions and 3 deletions

View File

@ -1878,6 +1878,20 @@ function getLastMessageId() {
return '';
}
/**
* Returns the last message in the chat.
* @returns {string} The last message in the chat.
*/
function getLastMessage() {
const index = chat?.length - 1;
if (!isNaN(index) && index >= 0) {
return chat[index].mes;
}
return '';
}
/**
* Substitutes {{macro}} parameters in a string.
* @param {string} content - The string to substitute parameters in.
@ -1920,6 +1934,7 @@ function substituteParams(content, _name1, _name2, _original, _group, _replaceCh
content = content.replace(/{{char}}/gi, _name2);
content = content.replace(/{{charIfNotGroup}}/gi, _group);
content = content.replace(/{{group}}/gi, _group);
content = content.replace(/{{lastMessage}}/gi, getLastMessage());
content = content.replace(/{{lastMessageId}}/gi, getLastMessageId());
content = content.replace(/<USER>/gi, _name1);