mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Add {{firstDisplayedMessageId}} macro
This commit is contained in:
@ -211,6 +211,21 @@ function getFirstIncludedMessageId() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ID of the first displayed message in the chat.
|
||||
*
|
||||
* @returns {number|null} The ID of the first displayed message
|
||||
*/
|
||||
function getFirstDisplayedMessageId() {
|
||||
const mesId = Number(document.querySelector('#chat .mes')?.getAttribute('mesid'));
|
||||
|
||||
if (!isNaN(mesId) && mesId >= 0) {
|
||||
return mesId;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the last message in the chat
|
||||
*
|
||||
@ -467,6 +482,7 @@ export function evaluateMacros(content, env, postProcessFn) {
|
||||
{ regex: /{{lastUserMessage}}/gi, replace: () => getLastUserMessage() },
|
||||
{ regex: /{{lastCharMessage}}/gi, replace: () => getLastCharMessage() },
|
||||
{ regex: /{{firstIncludedMessageId}}/gi, replace: () => String(getFirstIncludedMessageId() ?? '') },
|
||||
{ regex: /{{firstDisplayedMessageId}}/gi, replace: () => String(getFirstDisplayedMessageId() ?? '') },
|
||||
{ regex: /{{lastSwipeId}}/gi, replace: () => String(getLastSwipeId() ?? '') },
|
||||
{ regex: /{{currentSwipeId}}/gi, replace: () => String(getCurrentSwipeId() ?? '') },
|
||||
{ regex: /{{reverse:(.+?)}}/gi, replace: (_, str) => Array.from(str).reverse().join('') },
|
||||
|
Reference in New Issue
Block a user