[fix] triggers
This commit is contained in:
@@ -631,8 +631,10 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
currentChat = db.characters[selectedChar].chats[selectedChat]
|
||||||
const triggerResult = await runTrigger(currentChar, 'output', {chat:currentChat})
|
const triggerResult = await runTrigger(currentChar, 'output', {chat:currentChat})
|
||||||
if(triggerResult){
|
console.log(triggerResult)
|
||||||
|
if(triggerResult && triggerResult.chat){
|
||||||
db.characters[selectedChar].chats[selectedChat] = triggerResult.chat
|
db.characters[selectedChar].chats[selectedChat] = triggerResult.chat
|
||||||
setDatabase(db)
|
setDatabase(db)
|
||||||
}
|
}
|
||||||
@@ -653,13 +655,17 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n
|
|||||||
saying: currentChar.chaId
|
saying: currentChar.chaId
|
||||||
})
|
})
|
||||||
db.characters[selectedChar].reloadKeys += 1
|
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)
|
await sayTTS(currentChar, result)
|
||||||
setDatabase(db)
|
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){
|
if(req.special){
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ export type additonalSysPrompt = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function runTrigger(char:character,mode:triggerMode, arg:{
|
export async function runTrigger(char:character,mode:triggerMode, arg:{
|
||||||
chat?: Chat
|
chat: Chat
|
||||||
} = {}){
|
}){
|
||||||
char = cloneDeep(char)
|
char = cloneDeep(char)
|
||||||
let additonalSysPrompt:additonalSysPrompt = {
|
let additonalSysPrompt:additonalSysPrompt = {
|
||||||
start:'',
|
start:'',
|
||||||
@@ -69,8 +69,8 @@ export async function runTrigger(char:character,mode:triggerMode, arg:{
|
|||||||
promptend: ''
|
promptend: ''
|
||||||
}
|
}
|
||||||
const triggers = char.triggerscript
|
const triggers = char.triggerscript
|
||||||
const chat = arg.chat ?? char.chats[char.chatPage]
|
const chat = cloneDeep(arg.chat ?? char.chats[char.chatPage])
|
||||||
if(!triggers){
|
if((!triggers) || (triggers.length === 0)){
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
let varValues = getVarChat(-1, char)
|
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
|
let caculatedTokens = 0
|
||||||
if(additonalSysPrompt.start){
|
if(additonalSysPrompt.start){
|
||||||
caculatedTokens += await tokenize(additonalSysPrompt.start)
|
caculatedTokens += await tokenize(additonalSysPrompt.start)
|
||||||
|
|||||||
Reference in New Issue
Block a user