[fix] triggers
This commit is contained in:
@@ -630,9 +630,11 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
currentChat = db.characters[selectedChar].chats[selectedChat]
|
||||
const triggerResult = await runTrigger(currentChar, 'output', {chat:currentChat})
|
||||
if(triggerResult){
|
||||
console.log(triggerResult)
|
||||
if(triggerResult && triggerResult.chat){
|
||||
db.characters[selectedChar].chats[selectedChat] = triggerResult.chat
|
||||
setDatabase(db)
|
||||
}
|
||||
@@ -653,13 +655,17 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n
|
||||
saying: currentChar.chaId
|
||||
})
|
||||
db.characters[selectedChar].reloadKeys += 1
|
||||
const triggerResult = await runTrigger(currentChar, 'output', {chat:currentChat})
|
||||
if(triggerResult){
|
||||
db.characters[selectedChar].chats[selectedChat] = triggerResult.chat
|
||||
}
|
||||
await sayTTS(currentChar, result)
|
||||
setDatabase(db)
|
||||
}
|
||||
|
||||
currentChat = db.characters[selectedChar].chats[selectedChat]
|
||||
|
||||
const triggerResult = await runTrigger(currentChar, 'output', {chat:currentChat})
|
||||
if(triggerResult && triggerResult.chat){
|
||||
db.characters[selectedChar].chats[selectedChat] = triggerResult.chat
|
||||
setDatabase(db)
|
||||
}
|
||||
}
|
||||
|
||||
if(req.special){
|
||||
|
||||
@@ -60,8 +60,8 @@ export type additonalSysPrompt = {
|
||||
}
|
||||
|
||||
export async function runTrigger(char:character,mode:triggerMode, arg:{
|
||||
chat?: Chat
|
||||
} = {}){
|
||||
chat: Chat
|
||||
}){
|
||||
char = cloneDeep(char)
|
||||
let additonalSysPrompt:additonalSysPrompt = {
|
||||
start:'',
|
||||
@@ -69,8 +69,8 @@ export async function runTrigger(char:character,mode:triggerMode, arg:{
|
||||
promptend: ''
|
||||
}
|
||||
const triggers = char.triggerscript
|
||||
const chat = arg.chat ?? char.chats[char.chatPage]
|
||||
if(!triggers){
|
||||
const chat = cloneDeep(arg.chat ?? char.chats[char.chatPage])
|
||||
if((!triggers) || (triggers.length === 0)){
|
||||
return null
|
||||
}
|
||||
let varValues = getVarChat(-1, char)
|
||||
@@ -182,14 +182,6 @@ export async function runTrigger(char:character,mode:triggerMode, arg:{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(varValuesChanged){
|
||||
chat.message[chat.message.length-1].data = chat.message.at(-1).data.replaceAll(/{{(setvar|getvar)::.+?}}/gis,'') + Object.keys(varValues).map((v)=>`{{setvar::${v}::${varValues[v]}}}`).join('')
|
||||
}
|
||||
|
||||
if(arg.chat !== undefined && arg.chat !== null){
|
||||
char.chats[char.chatPage] = chat
|
||||
}
|
||||
let caculatedTokens = 0
|
||||
if(additonalSysPrompt.start){
|
||||
caculatedTokens += await tokenize(additonalSysPrompt.start)
|
||||
|
||||
Reference in New Issue
Block a user