Skip to content

正则规则引擎

规则库位于 plugins/lumenbridge/rules.json,每条规则结构如下:

json
{
    "id": "rule_query_server",
    "name": "查服",
    "enabled": true,
    "triggerType": "message",
    "pattern": "^查服$",
    "flags": "i",
    "eventType": "",
    "conditions": [],
    "actions": [
        {"type": "executeCommand", "params": "list"},
        {"type": "replyText", "params": "$result"}
    ],
    "block": true
}

字段说明

字段说明
triggerTypemessage = 群消息触发,event = 事件触发
pattern正则表达式(Python 语法)
flags正则标志:i 忽略大小写 / m 多行 / s 单行
eventType事件触发时的事件类型,如 group.member_join
conditions附加条件数组,全部满足才执行
actions动作序列,顺序执行
block命中后是否阻断后续规则

支持的动作类型

动作说明
replyText回复文本(支持变量替换)
replyImage回复图片(参数为图片 URL)
deleteMessage撤回触发消息
muteUser禁言触发者(参数为秒数,默认 600)
executeCommand在服务器执行命令,输出存入 $result
callPluginCommand调用子插件注册的自定义动作

支持的变量

变量说明
$userId触发者 QQ 号
$groupId群号
$at被 @ 的人的 QQ(无 @ 时为触发者自己)
$nickname触发者昵称
$result上一个 executeCommand 的输出
$0 $1 $2 ...正则捕获组

条件字段

field说明
userRole用户角色,sparkadmin 表示超级管理员
userIdQQ 号
groupId群号

支持的 operator:== / != / includes / matches

内置默认规则

规则触发作用
查白名单查白名单 @某人查询 @ 的人绑定的 XboxID
查服查服执行 /list 并回复在线玩家
管理员执行命令执行<命令>仅管理员可用,执行任意服务器命令
入群欢迎新成员入群事件自动发送欢迎语

事件触发

triggerType: "event" 时,eventType 可选:

  • group.member_join — 新成员入群
  • group.member_leave — 成员退群
  • server.player_join — 玩家进服
  • server.player_left — 玩家退服
  • server.player_chat — 玩家游戏内聊天

基于 MIT 许可协议发布