青龙面板安装傻妞(sillyGirl)机器人服务2022年3月8更新

咨询问题 和 下载文件进QQ群962774498 (青龙基于【yyds集合仓库】

没有计算机专业基础,或者看不懂本教程,可进群找群主代搭建。

常见问题解答看主页的其他文章

阿东还有其他对接容器的方法 这里只提供对接xdd 熟练了可以随意对接

展示一下效果图 看看是不是你想要的

本文由以下部分组成
一、傻妞功能简介
二、傻妞安装
 一键拉去傻妞文件
开始安装
开始部署QQ机器人必备环境
需要先装node.js
安装个pm2
打开傻妞http服务。
接入QQ机器人
QQ对接方法一
QQ对接方法二
设置QQ管理员
禁用机器人自己回复信息
三、傻妞常规设置
四、傻妞对接微信、公众号、以及TG机器人
对接微信【可爱猫】或者【VLW】
1.可爱猫对接微信
2.VLW对接微信
3.设置微信管理员
公众号对接教程
对接TG机器人
五、傻妞重启、更换机器人QQ、手动更新
重启
更换机器人QQ
手动更新
六、傻妞青龙扩展使用
七、配置文件、js插件、插件开发函数等!
API配置样板文件如下:
定时推送js样例文件
js开发函数
分组成)
一、傻妞功能简介
1.傻妞青龙扩展
可以发送命令控制青龙任务,添加青龙变量,查看任务日志等等!可对接其他项目。
2.配置扩展
在sillyGirl/conf/config.yaml文件配置各种API,让傻妞功能丰富多彩。目前支持返回图片和文本(包括链接)。样例文件见文末。
3.自定义文件功能扩展
在sillyGirl/develop/replies/文件夹内放入js等文件。可实现自定义扩展,支持定时推送。比如你可以放早报、外卖返利定时推送等。样例文件见文末。
4.可以付费授权配置京东、淘宝等发单、比价。可以赚钱的,不会亏。

二、傻妞安装
一键拉去傻妞文件
1.一键安装傻妞(老用户先执行 delete silly compiled_at,菜请直接删了原有傻妞)
国内用户安装完成后设置一个下载网络代理
后续更新直接给机器人发【升级】即可,设置命令下面二选一。
 

set sillyGirl download_prefix  http://github.yanyuge.workers.dev/

或者 

set sillyGirl download_prefix  http://github.muzilee.workers.dev/

开始安装

一键安装命令如下。

s=sillyGirl;a=arm64;if [[ $(uname -a | grep "x86_64") != "" ]];then a=amd64;fi ;if [ ! -d $s ];then mkdir $s;fi ;cd $s;wget https://github.yanyuge.workers.dev/https://github.com/cdle/${s}/releases/download/main/${s}_linux_$a -O $s && chmod 777 $s;pkill -9 $s;$(pwd)/$s

2.等命令运行完毕。
ctrl +c 退出

开始部署QQ机器人必备环境

需要先装node.js

1、Node.js 下载
官方下载地址:[Node.js Download](Node.js Download)
在这里插入图片描述

 1、右击指定位置,复制链接地址
 2、进入Linux自定义目录下,通过 wget 命令获取 Node.js 安装程序比如我们安装在 usr/local目录,执行如下命令:

cd /usr/local  && wget https://nodejs.org/dist/v14.17.5/node-v14.17.5-linux-x64.tar.xz

2、Node.js 解压下载得到的 Node.js 是 ***.tar.xz 格式,需要使用解压命令首先对其进行解压

xz -dk node-v14.17.5-linux-x64.tar.xz  && tar -xvf node-v14.17.5-linux-x64.tar

 3、Node.js 环境配置
1.进入配置文件:

vi /etc/profile

2.按键 i 进入编辑模式,在文件的最后面新行添加以下三行代码:

export NODE_HOME=/usr/local/node-v14.17.5-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules

3.Esc键退出编辑模式,:wq 退出该配置文件
4.生效配置文件

source /etc/profile

和装go环境一样不会用命令的,用SFTP(不知道SFTP是什么的自行百度,还不知道的劝你别弄了我帮你挂吧) 连接但服务器找到根目录/etc/profile文件打开,把下面代码复制粘贴到最后一行,保存然后再执行source /etc/profile 效果一样的。

4、检查是否安装成功
查看node版本 node -v
查询结果 V14.17.5
查看nmp版本 npm -v
查询结果 V6.14.xx
到此安装好node.js

安装个pm2
不然后第6步没法守护进程。
由于我们已经安装好了node.js所以直接用下面命令安装


 

npm install pm2 -g

执行pm2 -v查看是否安装成功

打开傻妞http服务。
由于需要访问傻妞http服务,所以我们得开启http服务。
有TG等机器人的直接机器人发送
set sillyGirl enable_http_server true
set sillyGirl port 8080
没其他机器人的打开/etc/sillyGirl/sets.conf这个文件把这两个写进去,然后手动重启一下傻妞,教程第五部分,手动重启。
文件格式样例如图


接入QQ机器人
QQ对接方法一
//node-onebot机器人接入到傻妞

1.克隆仓库

git clone https://github.com/takayama-lily/node-onebot.git

2.进入仓库
 

cd node-onebot

3.创建配置文件
 

vi config.js
module.exports = {
    //通用配置
    general: {
        platform:           1,     
        log_level:          "info",  //trace,debug,info,warn,error,mark
        use_cqhttp_notice:  false,   //是否使用cqhttp标准的notice事件格式

        host:               "0.0.0.0",  //监听主机名
        port:               5700,       //端口
        use_http:           false,      //启用http
        use_ws:             false,      //启用正向ws,和http使用相同地址和端口
        access_token:       "",         //访问api的token
        secret:             "",         //上报数据的sha1签名密钥
        post_timeout:       30,         //post超时时间(秒)
        post_message_format:"array",    //"string"或"array"
        enable_cors:        false,      //是否允许跨域请求
        enable_heartbeat:   false,      //是否启用ws心跳
        heartbeat_interval: 15000,      //ws心跳间隔(毫秒)
        rate_limit_interval:500,        //使用_rate_limited后缀限速调用api的排队间隔时间(毫秒)
        event_filter:       "",         //json格式的事件过滤器文件路径
        post_url: [ //上报地址,可以添加多个url
            // "http://your.address.com:80",
        ],
        ws_reverse_url: [ //反向ws地址,可以添加多个url
            "ws://127.0.0.1:8080/qq/receive",
        ],
        ws_reverse_reconnect_interval: 3000, //反向ws断线重连间隔(毫秒),设为负数直接不重连
        ws_reverse_reconnect_on_code_1000: true, //反向ws是否在关闭状态码为1000的时候重连
    },

    //每个账号的单独配置(用于覆盖通用配置)
    147258369: {

    },
};

5.登录,根据提示操作

cd && cd node-onebot && node main 机器人账号

会给一个二维码地址,复制到浏览器打开QQ扫码登录授权。等命令跑完,Ctrl +c 退出。
6.用pm2守护进程。

pm2 start "node main 机器人QQ号"

#这个""自己看看,博客这个转译好像给变成中文,自己改回去。

/方法一结束/

QQ对接方法二

//安装oicq//
oicq库

oicq Github:https://github.com/takayama-lily/oicq/tree/master/http-api
npm i oicq@1 -g #安装
npm up -g oicq #更新

配置文件config.js
路径/root/.oicq/ 可能系统不同路径不同具体自己找一下

// 此文件必须名为config.js才能生效哦
module.exports = {
    //通用配置
    general: {
        platform:           1,       //1:安卓手机 2:aPad 3:安卓手表 4:MacOS 5:iPad
        log_level:          "info",  //trace,debug,info,warn,error,mark
        use_cqhttp_notice:  false,   //是否使用cqhttp标准的notice事件格式
        host:               "0.0.0.0",  //监听主机名
        port:               5700,       //端口
        use_http:           false,      //启用http
        use_ws:             false,      //启用正向ws,和http使用相同地址和端口
        access_token:       "",         //访问api的token
        secret:             "",         //上报数据的sha1签名密钥
        post_timeout:       30,         //post超时时间(秒)
        post_message_format:"array",    //"string"或"array"
        enable_cors:        false,      //是否允许跨域请求
        enable_heartbeat:   false,      //是否启用ws心跳
        heartbeat_interval: 15000,      //ws心跳间隔(毫秒)
        rate_limit_interval:500,        //使用_rate_limited后缀限速调用api的排队间隔时间(毫秒)
        event_filter:       "",         //json格式的事件过滤器文件路径
        post_url: [ //上报地址,可以添加多个url
            // "http://your.address.com:80",
        ],
        ws_reverse_url: [ //反向ws地址,可以添加多个url  傻妞的ip加端口
            "ws://ip:port"
        ],
        ws_reverse_reconnect_interval: 3000, //反向ws断线重连间隔(毫秒),设为负数直接不重连
        ws_reverse_reconnect_on_code_1000: true, //反向ws是否在关闭状态码为1000的时候重连
    },
    //每个账号的单独配置(用于覆盖通用配置)
    1234567890: {
    },
};
// 安全注意:
// 监听0.0.0.0表示监听网卡上的所有地址。如果你的机器可以通过公网ip直接访问,同时你也没有设定access_token,则被认为是极不安全的。
// 你应该知道这样做会导致以下后果:任何人都可以无限制地访问你的Bot的所有API接口。
// 如果只需要在本地访问,建议将监听地址改为localhost。需要通过公网访问,你最好设定access_token。

启动oicq

oicq 机器人QQ号

oicq 911995332

Ctrl + C 然后再守护进程

pm2守护进程

pm2 start "oicq 机器人QQ"

pm2 start "oicq 911995332"

//方法二结束

设置QQ管理员

QQ机器人默认管理员功能从sillyGirl中移除,初始配置请到/etc/sillyGirl/sets.conf配置如下内容。

#设置qq管理员
set qq masters 管理QQ号码

或者SSH执行此命令

s=/etc/sillyGirl;if [ ! -d $s ];then mkdir $s; fi; echo "set qq masters 你的管理QQ号" > /etc/sillyGirl/sets.conf

禁用机器人自己回复信息
set qq onself true

重启一下

现在可以去机器人玩了

注意:
自愿开启芝士(京东CK功能)请执行

set jd_cookie enable_jd_cookie true

并重启。

三、傻妞常规设置
傻妞机器人名

set sillyGirl name 傻妞

傻妞http服务端口

set sillyGirl port 8080

傻妞消息撤回等待时间,单位秒

set sillyGirl duration 5

傻妞自动升级是否通知

set sillyGirl update_notify false

是否开启傻妞自动更新

set sillyGirl auto_update true

傻妞内置赞赏码

set sillyGirl appreciate https://gitee.com/aiancandle/sillyGirl/raw/main/appreciate.jpg

是否启动http服务

set sillyGirl enable_http_server false

设置青龙openapi的client_id参数

set qinglong client_id ?

设置青龙openapi的client_secret参数

set qinglong client_secret ?

青龙是否开启自动隐藏重复任务功能

set qinglong autoCronHideDuplicate true

设置青龙面板地址

set qinglong host http://127.0.0.1:5700

设置qq登录账号

set qq uin 10000

设置qq登录密码

set qq password 123456789

设置qq临时消息默认群号

set qq tempMessageGroupCode ?

指定要监听的qq群

set qq onGroups g1&g2&g3…

设置是否自动同意好友请求

set qq auto_friend false

设置是否对监听自身消息

set qq onself true

设置qq管理员

set qq masters q1&q2&q3…

设置接受通知的qq账号

set qq notifier q1&q2&q3…

设置qq设备信息(自动生成)

set qq device.json ?

设置qq登录令牌(自动生成)

set qq session.token ?

设置telegram机器人token

set tg token ?

设置telegram机器人代理

set tg http_proxy ?

设置telegram机器人管理员

set tg masters t1&t2&t3…

设置接受通知的telegram账号

set tg notifier t1&t2&t3…

设置微信公众平台app_id

set wxmp app_id ?

设置微信公众平台app_secret

set wxmp app_secret ?

设置微信公众平台token

set wxmp token ?

设置微信公众平台encoding_aes_key

set wxmp encoding_aes_key ?

设置微信公众平台管理员

set wxmp masters w1&w2&w3…

傻妞内置微信插件,依赖于可爱猫和http-sdk

傻妞远程处理接口 /wx/receive

设置插件调用地址,确保傻妞可以访问可爱猫端口

#set wx api_url ?

设置图片转发模式,否则可能会出现此图片来自xx未经允许不得使用的提示

#set wx relay_mode true

设置指定转发地址,格式为 https://域名/relay?url=%s,不知道不用填

#set wx relaier ?

设置动态网络地址,适用于傻妞家庭宽带而可爱猫在云服务器的情况下

set wx dynamic_ip true

获取群号 TG QQ 微信 通用

groupCode

获取自己ID TG QQ 微信 通用

myuid

获取上次编译时间

compiled_at

设置内置小爱API

set sillyGirl 小爱同学 http://jiuli.xiaoapi.cn/i/xiaoai_tts.php?msg=%s

小爱API返回词典中获取那个键的值

set sillyGirl 小爱同学gjson text

傻妞自定义回复更新,在哪个群设置就对哪个群有效。
口令更新,支持正则
设置回复 reply ? ?
删除回复reply ? nil
查看自定义回复 replies

四、傻妞对接微信、公众号、以及TG机器人
对接微信【可爱猫】或者【VLW】
对接微信需要Windows服务器或者电脑*
1.可爱猫对接微信
1.首先加入QQ群323731210,下载群文件iHttp.cat.dll文件和可爱猫文件
2.将iHttp.cat.dll放入可爱猫app目录
3.运行可爱猫然后双击iHttp插件,如图。

4.在远程处理接口那里写上http://你的IP:傻妞端口/wx/receive
端口写80 后面的服务开关✓上。记录你的Windows主机外网IP以及你自己设置的端口,端口需要防火墙放行。如图


5.重启可爱猫,然后从可爱猫首页启动微信并登录。注意这个微信手机端不能退出,退出就掉线了。你可以找一个不用的手机登录你的微信机器人号码扫码,只要你不主动退出即使你的手机关机微信机器人也在线。

6.设置相关配置
设置插件调用地址,确保傻妞可以访问可爱猫端口
set wx api_url http://IP:端口
开启傻妞http协议服务
set sillyGirl enable_http_server true
set sillyGirl port 80
设置图片转发模式,否则可能会出现此图片来自xx未经允许不得使用的提示
set wx relay_mode true

设置指定转发地址,格式为
https://域名/relay?url=%s

set wx relaier ?

设置动态网络地址,适用于傻妞家庭宽带而可爱猫在云服务器的情况下
set wx dynamic_ip true

2.VLW对接微信
1.首先下载VLW
教程以VLW3.1.4为例
2.下载完成后点击全部提取文件到你的自定义路径。
3.双击打开vlw主程序。这时会生成一些目录和文件其中有一个plugin的目录为插件目录。
4.加入QQ群962774498下载下图所示文件
在这里插入图片描述

 5.将下载的文件放入VLW的plugin目录内。
6.点击插件管理安装此插件。在这里插入图片描述

 7.点了打开此插件,如图所示进行配置。在这里插入图片描述

配置一定要认真点,初端口自定义其他都按要求写。
8.配置好了点击端口边上的启用服务。
9.现在开始回到傻妞进行参数设置
开启傻妞http协议服务
set sillyGirl enable_http_server true
set sillyGirl port 80
set wx api_url http外网API调用地址
如 set wx api_url http://1.12.123.22:80

set wx vlw_token 上图自定义的token
如 set wx vlw_token 123456
10.从vlw启动微信。然后用作为机器人的微信号扫码登录。登录成功如下图
在这里插入图片描述

11.现在你重启傻妞。然后就可以用了。

3.设置微信管理员
微信发送机器人myuid,获取你的微信ID

然后用下面命令设置自己为机器人管理员

set wx masters 你的微信ID

现在你的微信已经可以用了。

公众号对接教程
首先注册一个自己的公众号,有公众号的可以跳过。公众号注册应该都会就不讲了,不会的自己百度
然后查看自己公众号的app_id,app_secret(点击开发基础配置可以看到)。
接下来回到自己的QQ发送以下指令给机器人

set wxmp app_id 你的appid

set wxmp app_secret 你的appsecret

set wxmp encoding_aes_key 自定义key
由大小写字母和0-9组成的43位字符,可以在公众号后台随机生成

set wxmp token 自定义token

set sillyGirl port 80

set sillyGirl enable_http_server true

上面两个自定义的一定记牢下面要用,英文字母和数字组成。

然后登入你的公众号后台
1) 公众平台官网登录之后,找到“基本配置”菜单.

2) 填写配置
url填写:http://外网IP:端口/wx/ http的端口号固定使用80,不可填写其他。Token:你刚才自定义的token,这个token与公众平台wiki中常提的access_token不是一回事。这个token只用于验证开发者服务器。

在这里插入图片描述

选择明文模式,然后提交显示token验证成功就OK了。

需要注意的是你80端口没被其他服务占用,服务器装了宝塔安装了ningx的80端口肯定是占用了,如果你不用ningx可以在宝塔应用管理里卸载然后重启傻妞即可,要用或者其他程序占用了的自己百度方案解决吧。

netstat -lnp|grep 80

运行这个傻妞端口挂载正常如下图,不然就是傻妞没在80端口。

在这里插入图片描述

只要token验证成功就可以用了
然后启用服务 重启傻妞 就可以正常使用了

设置微信公众平台管理员

用微信发送 myuid

然后用QQ管理员发送机器人设置微信管理员

set wxmp masters 刚才查的uid

设置多个管理员

set wxmp masters uid1&uid2…

现在公众号可以使用傻妞功能了!

对接TG机器人
本方案原来是CloudFlare Worker反代Telegram的api.telegram.org。
1.首先注册CloudFlare账号,注册地址:cloudflare.com。注册账号非常的简单。不懂英文的现在浏览器都有翻译功能翻译后再去注册。
2.启用worker
登录cloudflare后,在左上角下拉菜单中找到 workers,入口:https://workers.cloudflare.com
然后自定义一个二级域名,记下来选择套餐选免费的就可以了。每天10万次请求够你玩了。

3.创建配置worker
进入cf的workers后台,点击 创建worker 按钮,新建一个worker。

 然后进入worker编辑界面,输入下面代码后,点击安装部署。

const whitelist = ["/bot123456789:"];/*123456789为机器人ID*/
const tg_host = "api.telegram.org";
addEventListener('fetch', event => {
    event.respondWith(handleRequest(event.request))
})
function validate(path) {
    for (var i = 0; i < whitelist.length; i++) {
        if (path.startsWith(whitelist[i]))
            return true;
    }
    return false;
}
async function handleRequest(request) {
    var u = new URL(request.url);
    u.host = tg_host;
    if (!validate(u.pathname))
        return new Response('Unauthorized', {
            status: 403
        });
    var req = new Request(u, {
        method: request.method,
        headers: request.headers,
        body: request.body
    });
    const result = await fetch(req);
    return result;
}

注:机器人ID就是机器人token前面的数字部分。不知道的可以TG @BotFather这个机器人可以获取你的机器人token。

现在你的机器人已经可以用了可以通过打开下面链接测试是否成功
https://xxxxx.xxx.workers.dev/bot机器人的token/sendMessage?chat_id=你的ID&text=发送的内容
机器人token获取方法上面说过了,你的ID获取方式 @userinfobot 找这个机器人可以拿到。
然后傻妞设置
set tg url https://xxx.xxx.workers.dev
xxx.xxx是你自定义的域名
set tg token xxx:xxxxxxxxxxxxx
后面x:xx是你的机器人token
现在你的TG机器人就可以用了。

五、傻妞重启、更换机器人QQ、手动更新
重启
 

ps -A|grep sillyGirl ##显示进程号
kill -9 xxxxxx ##杀掉进程
cd && cd sillyGirl && ./sillyGirl  ##启动傻妞

等待数据库加载完成,按下Ctrl 再按 C 退出
然后执行下面命令 静默挂机

nohup ./sillyGirl 1>/dev/null 2>&1 & #AMD64

./sillyGirl -d

不出错就重启OK了,出错的话看执行日志对症下药!

更换机器人QQ
首先确保傻妞是新版不是老古董
傻妞更新支持多QQ机器人,私聊全部有效、群聊只有主机器人有效,主机器人挂了后,其他机器人随机替代主机器人位置。
此外,返利支持多QQ协同发单减少风控几率。
设置主机器人QQ:
set qq default_bot 主机器人账号
更换机器人QQ
先看看进程列表
 

pm2 list

杀死所有进程

pm2 delete all

更换新QQ登录

oicq 新机器人QQ

守护进程

pm2 start "oicq 新机器人QQ"

你也可以同时挂多个QQ,想更换只需要重新设置主机器人号码,然后重启。

现在就更换到了新的号码,注意之前的设置是不会丢的不用一一重新设置。

手动更新

手动更新只需要执行下面命令

rm -rf /root/sillyGirl/sillyGirl  &&  s=sillyGirl;a=arm64;if [[ $(uname -a | grep "x86_64") != "" ]];then a=amd64;fi ;if [ ! -d $s ];then mkdir $s;fi ;cd $s;wget https://pd.zwc365.com/https://github.com/cdle/${s}/releases/download/main/${s}_linux_$a -O $s && chmod 777 $s;pkill -9 $s;$(pwd)/$s

然后Ctrl+c退出

再跑静默挂机命令

nohup ./sillyGirl 1>/dev/null 2>&1 & #AMD64

QQ发升级出现

 解决方案如下:找到/root/sillyGirl/.git/config文件
在文件最后一行加上两行代码

[user]
       email = [email protected] #自己的邮箱或者随意
       name = 爱的味道 #随意昵称

保存一下就可以了,不行重启再试!

六、傻妞青龙扩展使用

首先你得有青龙,不会装青龙的自行搜索教程或者加我QQ群323731210发送【教程】可查看系列教程。
有了青龙然后你可以对接傻妞进行交互。(注意傻妞只支持青龙2.9+)
1.创建青龙应用

然后复制你的应用信息对接傻妞

对你的机器人发送【青龙管理】根据提示填入对应参数即可。

如果各种信息都正确就配置OK了,需要注意的是青龙如果是2.8升级的会出现报错。重启容器即可

docker restart 你的容器名  

2.青龙常用交互命令
拉去脚本
ql raw 脚本地址

查询COOKIE状态
ql cookie status

指定CK运行脚本
ql task 任务文件名 desi JD_COOKIE 指定的CK编号(如1 1-2 等等)

CK优先级
jd exchange ? ?

CK备注
jd remark ? ?

[修改QQ、Cookie绑定关系]
删除Cookie对应QQ号关系[只需要改pt_pin为你要改的pin]
delete pinQQ pt_pin

绑定Cookie对应QQ关系 [改pt_pin为你要改的pin qq号为需要绑定QQ号]
set pinQQ pt_pin qq号

解除指定账号关联的一切账号
jd unbind im 账号

青龙关闭自动隐藏任务命令
set qinglong autoCronHideDuplicate false
默认开启。

^ql\s+crons$
ql crons #获取所有青龙任务

^ql\s+cron\s+status\s+(\S+)$
ql cron starts 任务名 #查看该任务状态

^ql\s+cron\s+run\s+(\S+)$
ql cron run 任务名 #运行该任务

^ql\s+cron\s+stop\s+(\S+)$
ql cron stop 任务名 #停止该任务

^ql\s+cron\s+enable\s+(\S+)$
ql cron enable 任务名 #启用该任务

^ql\s+cron\s+disable\s+(\S+)$
ql cron disable 任务名 #禁用该任务

^ql\s+cron\s+find\s+(\S+)$
ql cron find 任务名 #查找该任务

^ql\s+cron\s+logs\s+(\S+)$
ql cron logs 任务名 #查看该任务日志

^ql\s+update$
ql update #升级青龙面板

^ql\s+update\s+logs$
ql update logs #查看青龙面板升级日志

^ql\s+cron\s+hide\s+duplicate$
ql cron hide duplicate #删除重复任务

ql\s+config$
ql config #查看青龙配置文件 QQ字数限制所以用不了

^ql\s+envs$
ql envs #查看青龙已有变量不含CK

^ql\s+env\s+get\s+(\S+)$
ql env get 变量名 #获取变量信息包含名称/状态和值

^ql\s+env\s+find\s+(\S+)$
ql env find 变量名 #用于查询是否已设置此变量

^ql\s+env\s+set\s+(\S+)\s+(\S+)$
ql env set 变量名 变量值 #设置新的变量

^ql\s+env\s+remark\s+(\S+)\s+(\S+)$
ql env remark 变量名 备注 #设置变量备注

^ql\s+env\s+disable\s+(\S+)$
ql env disable 变量名 #禁用变量

^ql\s+env\s+enable\s+(\S+)$
ql env enable 变量名 #启用变量

如果还有其他的可以在评论补充。

七、配置文件、js插件、插件开发函数等!
傻妞功能较为广泛,可以自定义在conf/config.yaml中添加API配置,也可以自己写js脚本放到develop/replies目录里。

API配置样板文件如下:
 

replies:
  #文本类型的回复
  - type: text
    rules:
      - 在吗
    content: 我是花猫,欢迎来撩,可以发送功能查看我能做什么,喵喵喵!
  #链接类型回复
  - type: url
    rules:
      - 壁纸
      - 二次元
    request:
        #图片
        response_type: image 
        url: https://acg.toubiec.cn/random.php
  - type: url
    rules:
      - 姐姐
      - 妹妹
      - 小姐姐
    request:
        #图片
        response_type: image 
        url: http://api.btstu.cn/sjbz/zsy.php
  - type: url
    rules:
      - 舔狗日记
      - 舔狗
    request:
        #纯文本
        response_type: text
        url: https://api.oick.cn/dog/api.php
  - type: url
      - 股票 (.*)
    request:
        #纯文本
        response_type: text
        url: https://zyzcfa.com:444/api/stocks?keyword={{1}}
  - type: url
    rules:
      - 蓝奏云 (.*) (.*)
      - 蓝奏云 (.*)
      - 蓝奏云 (.*)密码:(.*)
    request:
        #纯文本
        response_type: json
        url: http://yingy.20wl.co/Api/php/LanZous.php?url={{1}}&pwd={{2}}
        get: data.url
  - type: url
    rules:
      - 游戏
      - 开始游戏
    request:
        #纯文本
        response_type: text
        url: http://hm.suol.cc/API/game_gs.php?msg=开始游戏
  - type: url
    rules:
      - 答 (.*)
      - 答(.*)
    request:
        #纯文本
        response_type: text
        url: http://hm.suol.cc/API/game_gs.php?msg=答{{1}}
  - type: url
    rules:
      - 提示
    request:
        #纯文本
        response_type: text
        url: http://hm.suol.cc/API/game_gs.php?msg=提示
  - type: url
    rules:
      - ^查字\s*(\S*)$
    replace:
      - 
        - 
- "\n" request: response_type: template url: https://api.tianapi.com/txapi/xhzd/index?key=19eea766886493ecd04e770d0c2b56f9&word={{1}} template: "汉字:gjson(newslist.[0].hanzi)\n读音:gjson(newslist.[0].pyyb)\n解释:gjson(newslist.[0].content)\n拓展:gjson(newslist.[0].explain)" # - type: url # rules: # - .* # request: # #纯文本 # response_type: json # url: https://api.ixiaowai.cn/tgrj/index.php # get: data.msg

定时推送js样例文件

// [rule: ^每日热点$ ]
// [cron: 0 6 * * * ]
// [admin: true ]

var data = request({
  "url": "https://api.tianapi.com/txapi/wxhottopic/index?key=" + get("tianapi_key"), // set otto tianapi_key ?
  "dataType": "json"
})
var newslist = ["每日热点:"];
var content = "";
var messages = eval('(' + get("hottopic") + ')'); // set otto hottopic [{imType:"qq",groupCode:16319366}]
if (data && data.newslist) {
  hots = data.newslist.reverse()
  for (var i = 0; i < hots.length; i++) {
      newslist.push((i + 1) + ". " + hots[i].word)
  }
  content = newslist.join("\n")
} else {
  content = "每日热点," + data
}
for (var i = 0; i < messages.length; i++) {
  message = messages[i]
  message["content"] = content
  push(message)
}
sendText("操作成功。")

js开发函数

js 插件可调用或被支持的傻妞内置函数(此命令多数转自科技玩家傻妞js插件教程 - 科技玩家

// [rule: ^demo(.*)$] 使用正则匹配,括号中为期望匹配的值
// [rule: demo ?] 使用问号匹配
// [rule: demo] 直接匹配
// [cron: 36 11,17 * * *] 定时任务
// [admin: true] 是否只允许管理员使用
// [disable: false] 是否禁用
// [priority: 10] 匹配优先级
// [server: 1 ] 如果不指定rule和cron时,设置为非空则指定为一个空服务,否则这个js不会加载
//上下文获取
param(n)//获取rule中期望捕获的第n个字符串,中文需要使用 encodeURI(param(n))
ImType()//聊天来源类型如:qq,wx等,其中fake为特殊调用可能为cron调用
GetUserID()//发送人用户id
GetUsername()//发送人昵称
GetChatID()//群号
GetChatname()//群名
GetContent()//获取接受到的消息
isAdmin()//发送人是否管理员
//系统功能相关
cancall(name)//返回特殊调用的函数
call(name,value)//特殊调用
Debug(log)//打印日志
sleep(millisecond)//休眠
GroupBan(uid, time)//群禁言,需要在群聊才可用
GroupKick(uid, reject)//群踢人,reject为是否拉黑名单,需要在群聊才可用
RecallMessage(GetMessageID())//撤回群消息
request({
    url:"",//必须
    method:"",//get,post,put,delete,可选,默认get
    headers:{},//可选
    body:"",//可选
    dataType:"",//location=>重定向url,json=>尝试解析为对象,否则为body字符串,可选
    useproxy:false,//可选
})//发送请求
//存储相关 sillyGirl存储结构为 {mainKey1:{key1:value,key2:value},mainKey2:{key1:value,key2:value}}}
bucketGet(mainKey,key)//取值
bucketSet(mainKey,key,value)//存值
bucketKeys(mainKey)//获取所有key名称
get(key)//同bucketGet("otto",key)
set(key,value)//同bucketSet("otto",key,value)
//消息相关
input(time /*[,str]*/)//等待下一个消息,str不为空时可接受其他群的消息 str可选
breakIn(str)//生成一个新的消息向下传递,可以被所有命令处理(包括当前js,所以需要防止递归)
Continue()//消息继续向下传递,可以被其他命令处理
Delete()//撤回接受到的这条消息
image(string)//图片地址转可拼接消息字符串
push({
    imType:string,//发送到指定渠道,如qq,wx,必须有
    userID:"",//groupCode不为0时为@指定用户,可选
    groupCode:"",//可选
    content:string,//发送消息
    })//给指定im发送消息
notifyMasters(string)//通知管理员
sendText(string)//发送文本
sendImage(url)//发送图片
sendVideo(url)//发送视频

其他待补充,就到这吧!

你可能感兴趣的:(p2p,网络协议,网络)