📢 新版本 v2.0.1 已发布!当前版本 v1.3.7,请重新部署 Bot 以获取新功能。
B
未部署
AppID: —
未连接
玄臻Bot 版本
登录环境沙箱环境
接入方式WebSocket
系统版本
运行状态未启动
会员状态
会员到期
“祝愿流畅运行,使用愉快!”
—— 小执科技
[INFO] 系统就绪,等待部署...
⚠️ 修改 词库.txt 后需要到 基础信息 页面重启 Bot 才能生效。
文件名大小修改时间操作
暂无文件或目录

📌 玄臻Bot 词库手册

欢迎使用玄臻Bot !本手册详细列出所有可用变量、函数、触发规则和系统事件,助你快速编写强大的机器人逻辑。

💡 提示:词库文件为 词库.txt,修改后需重启 Bot 生效。

🎯 触发规则

词条的第一行即为触发词,支持以下三种匹配模式:

1. 精确匹配

触发词与用户消息完全一致时触发(不含首尾空格)。

示例
你好你好呀!

2. 前缀匹配(带参数)

触发词后跟一个空格和参数,参数可用 %参数1% ~ %参数9% 获取。

示例
天气 城市%参数1% 的天气是晴天

用户发送 天气 北京,机器人回复 北京的天气是晴天

3. 正则匹配

支持正则表达式,捕获组用 %括号1% ~ %括号9% 获取。

示例
查资料 (.*)您查询的是:%括号1%

用户发送 查资料 李白,机器人回复 您查询的是:李白

4. 私聊限定

在触发词前加 #单聊##好友##私聊#,则该词条仅在私聊场景生效。

示例
#单聊#我的密码您的密码是:123456(私密信息)
📌 注意:触发词匹配优先级:精确匹配 > 前缀匹配 > 正则匹配。如果同时存在精确和正则,精确优先触发。

📦 变量列表

在词条中可使用 %变量名% 引用以下变量(大小写敏感):

%QQ%用户的 OpenID
%openid%用户的 OpenID(小写)
%OpenID%用户的 OpenID(大写)
%群号%当前群聊的 OpenID
%消息ID%当前消息的 ID
%msgid%当前消息的 ID(简写)
%时间戳%当前 Unix 时间戳(秒)
%Robot%机器人的 OpenID(大写)
%robot%机器人的 OpenID(小写)
%vip%当前用户是否为 VIP(true/false)
%identity%用户在群内的身份(群成员/好友)
%参数0%触发词后的完整剩余内容
%参数1% ~ %参数9%按空格分割的参数
%括号1% ~ %括号9%正则匹配的捕获组
%System_type%系统事件类型码(详见“系统事件”章节)
%group_openid%事件关联的群 OpenID
%operator_QQ%事件操作者的 OpenID
%yyyy%/%yy%年份(4位/2位)
%MM%/%M%月份(补零/不补零)
%dd%/%d%日期(补零/不补零)
%HH%/%H%小时(24小时制,补零/不补零)
%hh%/%h%小时(12小时制,补零/不补零)
%mm%/%m%分钟(补零/不补零)
%ss%/%s%秒钟(补零/不补零)
%AP%上午/下午
%周几%星期几(1-7)
%第几周%年内第几周
%今年已过天%今年已过的天数
%年%/%月%/%日%中文数字(时/分/秒同理)
📌 注意:自定义变量通过 变量名:表达式 定义,使用 %变量名% 引用。

⚙️ 函数列表

在词条中使用 $函数名 参数$ 调用函数:

$访问 url$GET 请求
$提交 url 参数$POST 请求(JSON 或表单)
$获取机器人信息$返回机器人信息 JSON
$图片 url$发送图片
$语音 url$发送语音
$视频 url$发送视频
$文件 url$发送文件
$时间 格式$格式化当前时间
$时间戳转时间 时间戳 格式$时间戳转时间字符串
$随机数 最小 最大$生成随机整数
$随机文本 选项1,选项2$随机选择一项
$md5 文本$MD5 哈希
$sha1 文本$SHA1 哈希
$base64编码 文本$Base64 编码
$base64解码 文本$Base64 解码
$url编码 文本$URL 编码
$url解码 文本$URL 解码
$截取 字符串 起始 结束$截取子串
$长度 字符串$获取字符串长度
$大写 文本$转大写
$小写 文本$转小写
$正则匹配 文本 正则$返回第一个匹配
$替换 文本 旧 新$字符串替换
$正则替换 文本 正则 新$正则替换
$取中间 文本 左边界 右边界$提取中间内容
$读 路径 键 默认值$读取键值存储
$写 路径 键 值$写入键值存储
$删除文件 路径$删除文件
$删除文件夹 路径$删除文件夹
$调用 词条名$调用其他词条
$休眠 毫秒$延时等待
$中断$立即停止执行

🌐 网络请求

$访问 URL$ 发送 GET 请求,返回响应正文。

GET 示例
data:$访问 https://api.example.com/info$返回数据:%data%

$提交 URL JSON参数$ 发送 POST 请求(自动识别 JSON 或表单)。

POST 示例
result:$提交 https://api.example.com/submit {"name":"测试"}$

📊 JSON 操作

方式一:直接解析
$JSON€json字符串€键路径$

示例
$JSON€{"data":{"score":100}}€data.score$

方式二:存储后引用
变量名:JSON字符串 存储,然后用 @变量名[键] 引用,支持链式:@a[data][score]@a[data.score]

示例
a:{"data":{"score":100,"name":"测试"}}得分:@a[data.score]姓名:@a[data][name]

JSON 变量操作(高级)
$JSON 获取 变量名 键路径$ · $JSON 添加 变量名 键 值$ · $JSON 删除 变量名 键$ · $JSON 长度 变量名$ · $JSON 查看 变量名$

🖼️ 富媒体发送

$图片 url$发送图片
$语音 url$发送语音(支持 mp3/wav)
$视频 url$发送视频(支持 mp4)
$文件 url$发送任意文件

富媒体可以和文字一起发送,按顺序显示。

图文混合示例
$图片 https://example.com/photo.png$这是图片的描述文字
📌 注意:语音、视频、文件支持群聊发送,私聊暂不支持富媒体。

📸 HTML 转图片

玄臻Bot 支持将 任意 HTML 代码 渲染为 PNG 图片,并自动发送到聊天中。这对于生成精美卡片、数据看板、二维码等非常有用。

语法结构

基本格式
[变量名:]HTML>>... 你的 HTML 代码 ...<<=HTML
  • 变量名(可选):如果指定(如 mycard:HTML>>),则生成的图片 URL 会以 JSON 格式存入该变量,供后续引用;如果不指定,则直接发送图片。
  • 内部支持变量:HTML 块内部可以使用所有 %变量%(如 %QQ%%时间戳%),会在渲染前被替换。
  • 自定义尺寸:可以在 HTML 顶部注释中指定宽度和高度(单位:像素),格式为 <!-- 宽度:1200 --><!-- 高度:800 -->,若不指定则使用默认宽度(1200px),高度自适应。

示例:直接发送图片

词库规则
测试图片HTML>><!-- 宽度:800 --><html><body style="background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;padding:30px;font-family:sans-serif;">    <h1>✨ 玄臻Bot</h1>    <p>当前时间:%yyyy%-%MM%-%dd% %HH%:%mm%:%ss%</p>    <p>用户:%QQ%</p></body></html><<=HTML

用户发送 测试图片,机器人会自动渲染该 HTML 并发送图片(带渐变背景和实时时间)。

示例:存储为变量(不自动发送)

词库规则
生成卡片mycard:HTML>><html><body>...</body></html><<=HTML图片URL:%mycard%

此时 %mycard% 存储的是 JSON {"url":"https://...","expire":120,"time":...},用户会收到包含 URL 的文本,而不是图片(可用于调试或二次处理)。

⏰ 时间与随机

$时间 格式$ 格式化当前时间,支持 yyyy-MM-dd HH:mm:ssyyyy年MM月dd日 等格式。

示例
$时间 yyyy年MM月dd日 HH:mm:ss$$时间 现在是%yyyy%年%MM%月%dd%日%HH%时%mm%分%ss%秒$

$时间戳转时间 时间戳 格式$ 将 Unix 时间戳转为时间字符串。

$随机数 最小 最大$ 生成指定范围内的随机整数。
$随机文本 选项1,选项2,选项3$ 从逗号分隔的选项中随机选择一项。

📁 文件操作

键值存储(位于 data/键值数据/ 目录):

读写示例
$写 config count 100$$读 config count 0$

$删除文件 路径$$删除文件夹 路径$ 操作 data/ 目录下的文件/文件夹。

⚠️ 安全限制:只能操作 data/ 目录内的内容,路径穿越被禁止。

🔀 控制流

条件分支:

如果/否则如果/否则
如果:%vip%==true  您是VIP用户否则如果:%vip%==false  您不是VIP用户否则  状态未知如果尾

其他控制:

$中断$立即停止当前词条执行
$休眠 毫秒$等待指定时间
返回返回当前已生成的内容并退出

条件支持 ==!=><>=<=,逻辑运算符 &(且)、|(或)。

⚡ 系统事件

系统事件需要使用特殊词条 System responseSystem Event 来响应。系统会在特定时刻自动触发该词条,并通过 %System_type% 变量区分事件类型。

系统事件类型码:

10整点事件(每小时第0分钟触发)
25机器人被拉入群
30机器人被踢出群
35群成员加入
40群成员退出

System response 词条中,可以使用以下变量:

%System_type%事件类型码(见上表)
%group_openid%事件关联的群 OpenID
%operator_QQ%操作者的 OpenID(如拉入/踢出者)
%时间戳%事件发生时间戳
整点报时示例
System response如果:%System_type%==10  ⏰ 当前整点:%H%点,大家休息一下吧!如果尾
进群欢迎示例
System response如果:%System_type%==35  🎉 欢迎新成员!群号:%group_openid%,欢迎常驻!如果尾
📌 注意:系统事件词条只在对应事件发生时触发,且仅用于响应系统事件,不能作为普通消息触发。整点事件仅在每分钟的第0秒附近触发(误差小于5秒)。

💬 私聊专用

在词条触发词前加上 #单聊##好友##私聊#,则该词条仅在私聊场景生效,群聊中不会触发。

示例
#单聊#你好你好!有什么可以帮你的?

用户私聊发送 你好,机器人回复 你好!有什么可以帮你的?

📌 注意:私聊消息中 %群号% 不可用,但 %OpenID%%消息ID%%Robot% 等正常可用。

📝 综合示例

查询用户信息,并发送图片 + 文字:

词库规则
查资料 (.*)api:$访问 https://api.example.com/user?name=%括号1%$info:$JSON€%api%€data$$图片 @info[avatar]$👤 姓名:@info[name]📊 等级:@info[level]💰 积分:@info[points]

用户发送 查资料 张三,机器人会请求 API,解析 JSON,然后发送图片并回复文字信息。

💡 提示:变量和函数可以嵌套使用,如 $JSON€%api%€data.name$