注册正则表达式函数
注册无参数函数
示例
spark.on('core.ready', () => {
const registerRegexAction = spark.env.get('regex.register_action');
if (registerRegexAction) {
registerRegexAction('getXboxID', async (params, pack, context) => {
// params 是调用的参数的数组
// pack 是聊天原始包
// context 是上下文对象
// 直接返回一个键值对对象!
if(get_xbox_by_qid(pack.sender.user_id) != undefined){
return { xbox: get_xbox_by_qid(pack.sender.user_id).xbox };
}else{
return { xbox: "无" };
}
});
}
});这个示例是官方插件sb3_wl注册的一个命令getXboxID,在执行类型选择调用插件命令的时候,填入参数getXboxID,即可调用此函数。
函数返回一个对象,对象中的键值对会作为返回值,在正则表达式中可以直接通过$xbox获取返回值`

上图中,如果这个执行链被触发,那么就会寻找触发者的XboxID,并返回给正则表达式。然后把获取到的ID发送到QQ群中。
注册有参数函数
示例
spark.on('core.ready', () => {
const registerRegexAction = spark.env.get('regex.register_action');
if (registerRegexAction) {
registerRegexAction('getXboxID', async (params, pack, context) => {
// params 是调用的参数的数组
// pack 是聊天原始包
// context 是上下文对象
let qid = params[0];
// 直接返回一个键值对对象!
if(get_xbox_by_qid(qid) != undefined){
return { xbox: get_xbox_by_qid(qid).xbox };
}else{
return { xbox: "无" };
}
});
}
});这个示例注册了一个命令getXboxID,在执行类型选择调用插件命令的时候,填入参数getXboxID,$at,即可调用此函数。
函数返回一个对象,对象中的键值对会作为返回值,在正则表达式中可以直接通过$xbox获取返回值`。

上图中,如果这个执行链被触发,那么就会寻找触发者信息中被at的人的XboxID,并返回给正则表达式。然后把获取到的ID发送到QQ群中。
