Skip to content

正则表达式

看到这里,您是一定好奇SparkBridge自带的种种功能都是如何实现的。

注意

在学习本章节之前,请确保您了解正则表达式

打开serverdata/regex/data.json,您将会看到如下内容

json
{
    "^我是(.+)": {
        "cmd": "reply|你是$1",
        "adm": false
    },
    "^bot测试": {
        "cmd": "reply|已上线",
        "adm": true
    },
    "^绑定(.+)": {
        "cmd": "addwl|$1:true",
        "adm": false
    },
    "^解绑": {
        "cmd": "remwl|$1",
        "adm": false
    },
    "^查服": {
        "cmd": "run|list",
        "adm": false
    },
    "^chat (.+)": {
        "cmd": "t|all:[群聊]%USER_XBOXID% >> $1",
        "adm": false
    },
    "^执行(.+)": {
        "cmd": "run|$1",
        "adm": true
    }
}

这是SparkBridge自带的正则表达式功能,如果您没有修改过此文件,那您将会看到如上一样的配置。

我们单独拿第一项出来看

json
"^我是(.+)": {
        "cmd": "reply|你是$1",
        "adm": false
    }

这个表达式匹配了^我是(.+),回复你是$1,并且,不需要管理员权限。

我们到群聊里实践一下

我是逆蝶
你是逆蝶

看到这里您是否也想编写属于您自己的正则表达式,下面是SparkBridge提供的正则表达式API

API

事件名称事件示例备注
reply回复信息reply|我很好
f发送私聊消息f|12345678:哈哈哈哈
g发送群聊消息g|12345678:哈哈哈哈
run服务器执行命令run|list
t发送消息给服务器成员t|Spark:你好如果目标成员写all则会发给所有人
addwl添加白名单addwl|Spark:true冒号后面的true和false控制是否自动添加白名单到服务器
remwl移除白名单remwl|Spark

占位符

变量含义
%USER_NAME%发信人 QQ 昵称
%USER_CARD%发信人群昵称
%USER_QID%发信人QQ号
%USER_XBOXID%发信人绑定的游戏 ID
%PLAYER_XUID%玩家XUID
%PLAYER_IP%玩家IP地址
%PLAYER_MSG%玩家说的话

可直接在正则表达式中调用变量。 如:

json
 "^我是谁":{
        "cmd":"reply|你是%USER_NAME%",
        "adm":false
    }
我是谁
你是Spark酱

此软件与 Mojang Studio、网易、Microsoft 没有从属关系。