前段时间接触了QQ机器人,所以呢我用sillyGirl对接one-bot协议搭建了我的QQ机器人(下次展示)。青龙面板可以定时运行脚本。
今天我有一个想法:青龙面板运行ocr文字识别的js,通过QQ传入图片的url,再将运行日志发送到QQ。
在sillyGirl对接青龙面板后可以直接发送以下命令完成一些操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| # 对接青龙 青龙管理 #多容器青龙配置 ql spy #自定义监听变量运行青龙指定脚本功能 # 使用命令 ql config #获取青龙config.sh设置的内容,但我没测试出来结果,等猫咪大佬解惑 ql envs #获取青龙config.sh内设置的所有环境变量内容,但我没测试出来结果,等猫咪大佬解惑 ql env get ? #获取青龙config.sh内指定环境变量的内容,仅精确匹配 ql env find ? #查找青龙config.sh内指定的环境变量内容,支持模糊匹配 ql env set ? ? #在青龙config.sh内设置环境变量 ql env remark ? ? #字面意思是给环境变量设置备注,但我没测试出来结果,等猫咪大佬解惑 ql env disable ? #禁用(注释)在青龙config.sh内设置的环境变量 ql env enable ? #启用(取消注释)在青龙config.sh内设置的环境变量 ql raw ? #下载raw链接的js ql task ? #在青龙里面运行指定的js ql repo ? #在青龙里面拉库,例:ql repo https://github.com/cdle/carry.git ql cookie status #查询青龙里cookie状态 ql crons #获取青龙所有定时任务,但我没测试出来结果,等猫咪大佬解惑 ql cron status ? #查看青龙指定定时任务的状态 ql cron run ? #运行青龙定时任务,支持模糊匹配 ql cron stop ? #停止运行青龙定时任务,支持模糊匹配 ql cron enable ? #启用青龙定时任务,支持模糊匹配 ql cron disable ? #禁用青龙定时任务,支持模糊匹配 ql cron find ? #查找青龙定时任务,支持模糊匹配 ql cron logs ? #查找青龙定时任务运行日志,支持模糊匹配 ql cron hide duplicate #隐藏青龙重复定时任务 set qinglong autoCronHideDuplicate false #关闭自动隐藏任务命令
|
这里发现
ql cron run ? #运行青龙定时任务,支持模糊匹配
ql cron logs ? #查找青龙定时任务运行日志,支持模糊匹配
这两条命令可以完成运行和查看日志
此外ql env set ? ?
可以向面板传递变量
而在sillyGirl的函数中
breakIn(str)//生成一个新的消息向下传递,可以被所有命令处理(包括当前js,所以需要防止递归)
这个可以自动生成一条信息传递,这也就模拟了用户发送命令。
综上,可以通过获取用户发送的图片url(qq的图片都会带有一个链接,可以通过机器人获取),使用breakIn函数将url传递到面板上,再运行和获取日志,即可达到目的
如下是我在sillyGirl中的js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| sendText("请在30秒内发送图片!") tu = input(30000) if(!tu){ sendText("已退出!") }else if (tu == "退出"){ sendText("已退出!") }else{ imurl = tu.match(/url=(.*?)\]/g)[0].replace(/url=/g,"").replace(/\]/g,"") breakIn('ql env set imurl '+imurl) sleep(1000) breakIn('ql cron run 转文字') sleep(4000) breakIn('ql cron logs 转文字') }
|
在青龙面板的js中:
1
| imurl = process.env.imurl;
|
可获取刚刚传入的变量
因为我使用的是腾讯云的ocr识别api,所以源文件中含有我的密钥,所以就不做展示了。
测试图
