feat: add new cbs
This commit is contained in:
@@ -1138,6 +1138,78 @@ function basicMatcher (p1:string,matcherArg:matcherArg,vars:{[key:string]:string
|
|||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
case 'all':{
|
||||||
|
const array = arra.length > 2 ? arra.slice(1) : parseArray(arra[1])
|
||||||
|
const all = array.every((f) => {
|
||||||
|
return f === '1'
|
||||||
|
})
|
||||||
|
return all ? '1' : '0'
|
||||||
|
}
|
||||||
|
case 'any':{
|
||||||
|
const array = arra.length > 2 ? arra.slice(1) : parseArray(arra[1])
|
||||||
|
const any = array.some((f) => {
|
||||||
|
return f === '1'
|
||||||
|
})
|
||||||
|
return any ? '1' : '0'
|
||||||
|
}
|
||||||
|
case 'min':{
|
||||||
|
const val = arra.length > 2 ? arra.slice(1) : parseArray(arra[1])
|
||||||
|
return Math.min(...val.map((f) => {
|
||||||
|
const num = Number(f)
|
||||||
|
if(isNaN(num)){
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return num
|
||||||
|
})).toString()
|
||||||
|
}
|
||||||
|
case 'max':{
|
||||||
|
const val = arra.length > 2 ? arra.slice(1) : parseArray(arra[1])
|
||||||
|
return Math.max(...val.map((f) => {
|
||||||
|
const num = Number(f)
|
||||||
|
if(isNaN(num)){
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return num
|
||||||
|
})).toString()
|
||||||
|
}
|
||||||
|
case 'sum':{
|
||||||
|
const val = arra.length > 2 ? arra.slice(1) : parseArray(arra[1])
|
||||||
|
return val.map((f) => {
|
||||||
|
const num = Number(f)
|
||||||
|
if(isNaN(num)){
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return num
|
||||||
|
}).reduce((a, b) => a + b, 0).toString()
|
||||||
|
}
|
||||||
|
case 'average':{
|
||||||
|
const val = arra.length > 2 ? arra.slice(1) : parseArray(arra[1])
|
||||||
|
const sum = val.map((f) => {
|
||||||
|
const num = Number(f)
|
||||||
|
if(isNaN(num)){
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return num
|
||||||
|
}).reduce((a, b) => a + b, 0)
|
||||||
|
return (sum / val.length).toString()
|
||||||
|
}
|
||||||
|
case 'fixnum':
|
||||||
|
case 'fix_num':
|
||||||
|
case 'fixnumber':
|
||||||
|
case 'fix_number':{
|
||||||
|
return Number(arra[1]).toFixed(Number(arra[2]))
|
||||||
|
}
|
||||||
|
case 'unicode_encode':
|
||||||
|
case 'unicodeencode':{
|
||||||
|
return arra[1].charCodeAt(arra[2] ? Number(arra[2]) : 0).toString()
|
||||||
|
}
|
||||||
|
case 'unicode_decode':
|
||||||
|
case 'unicodedecode':{
|
||||||
|
return String.fromCharCode(Number(arra[1]))
|
||||||
|
}
|
||||||
|
case 'hash':{
|
||||||
|
return ((pickHashRand(0, arra[1]) * 10000000) + 1).toFixed(0).padStart(7, '0')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(p1.startsWith('random')){
|
if(p1.startsWith('random')){
|
||||||
@@ -1740,18 +1812,6 @@ export async function commandMatcher(p1:string,matcherArg:matcherArg,vars:{[key:
|
|||||||
}
|
}
|
||||||
CurrentChat.set(chat)
|
CurrentChat.set(chat)
|
||||||
}
|
}
|
||||||
case 'push_chat':
|
|
||||||
case 'add_chat':
|
|
||||||
case 'addchat':
|
|
||||||
case 'pushchat':{
|
|
||||||
const chat = get(CurrentChat)
|
|
||||||
chat.message.push({role: arra[1] === 'user' ? 'user' : 'char', data: arra[2] ?? ''})
|
|
||||||
CurrentChat.set(chat)
|
|
||||||
return {
|
|
||||||
text: '',
|
|
||||||
var: vars
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case 'cutchat':
|
case 'cutchat':
|
||||||
case 'cut_chat':{
|
case 'cut_chat':{
|
||||||
const chat = get(CurrentChat)
|
const chat = get(CurrentChat)
|
||||||
|
|||||||
Reference in New Issue
Block a user