feat: Add new triggers
This commit is contained in:
@@ -23,7 +23,7 @@ export interface triggerscript{
|
||||
|
||||
export type triggerCondition = triggerConditionsVar|triggerConditionsExists|triggerConditionsChatIndex
|
||||
|
||||
export type triggerEffect = triggerEffectImgGen|triggerEffectRegex|triggerEffectRunLLM|triggerEffectCheckSimilarity|triggerEffectSendAIprompt|triggerEffectShowAlert|triggerEffectSetvar|triggerEffectSystemPrompt|triggerEffectImpersonate|triggerEffectCommand|triggerEffectStop|triggerEffectRunTrigger
|
||||
export type triggerEffect = triggerEffectCutChat|triggerEffectModifyChat|triggerEffectImgGen|triggerEffectRegex|triggerEffectRunLLM|triggerEffectCheckSimilarity|triggerEffectSendAIprompt|triggerEffectShowAlert|triggerEffectSetvar|triggerEffectSystemPrompt|triggerEffectImpersonate|triggerEffectCommand|triggerEffectStop|triggerEffectRunTrigger
|
||||
|
||||
export type triggerConditionsVar = {
|
||||
type:'var'|'value'
|
||||
@@ -52,6 +52,18 @@ export interface triggerEffectSetvar{
|
||||
value:string
|
||||
}
|
||||
|
||||
export interface triggerEffectCutChat{
|
||||
type: 'cutchat',
|
||||
start: string,
|
||||
end: string
|
||||
}
|
||||
|
||||
export interface triggerEffectModifyChat{
|
||||
type: 'modifychat',
|
||||
index: string,
|
||||
value: string
|
||||
}
|
||||
|
||||
export interface triggerEffectSystemPrompt{
|
||||
type: 'systemprompt',
|
||||
location: 'start'|'historyend'|'promptend',
|
||||
@@ -345,6 +357,20 @@ export async function runTrigger(char:character,mode:triggerMode, arg:{
|
||||
}
|
||||
break
|
||||
}
|
||||
case 'cutchat':{
|
||||
const start = Number(risuChatParser(effect.start,{chara:char}))
|
||||
const end = Number(risuChatParser(effect.end,{chara:char}))
|
||||
chat.message = chat.message.slice(start,end)
|
||||
break
|
||||
}
|
||||
case 'modifychat':{
|
||||
const index = Number(risuChatParser(effect.index,{chara:char}))
|
||||
const value = risuChatParser(effect.value,{chara:char})
|
||||
if(chat.message[index]){
|
||||
chat.message[index].data = value
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
// low level access only
|
||||
case 'showAlert':{
|
||||
|
||||
Reference in New Issue
Block a user