Bootstrap

傻妞机器人老版安装教程

一、傻妞功能简介

一个有灵魂的机器人框架,可以订阅插件源或者自己编写插件。

二、傻妞安装

安装傻妞。

创建文件夹

 mkdir sillyGirl

建立配置并设置 QQ 管理员,改中文部分为你 QQ 号

 s=/etc/sillyGirl;if [ ! -d  ];then mkdir ; fi; echo "set qq masters 你操控机器人的QQ号" > /etc/sillyGirl/sets.conf

需要服务器装有 git ,没装的先装一下 git

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum install -y git

进入傻妞目录并拉去文件

cd && cd sillyGirl && wget https://ghproxy.com/https://github.com/muzikeji/mzkj/blob/master/sillyGirl

给傻妞读写权限

chmod 777 sillyGirl

启动

./sillyGirl -t

开启群组监控

监听群组 listenOnGroups ,屏蔽指定群组任何消息,默认不监听任何群组。
不回复群组 noReplyGroups ,接受指令但不做出回复,默认回复所有群组消息。
可以识别返利群组设置,动态进行监听,无需手动。
也就是说你不设置监听群就所有群消息不再回复。
设置方法
先进入傻妞目录执行./sillyGirl -t 开启终端交互。
一键进入并启用终端交互命令如下:

cd && cd sillyGirl && ./sillyGirl -t ##启动傻妞终端交互

然后设置监听群组。设置命令
set silly listenOnGroups 群号
多个群号用&链接,例如
set silly listenOnGroups 323731210&487640458&-1001726293303&17899942923&19865189169&20403300341&21985308594&1018242024
QQ、微信、TG群都一样需要设置。
傻妞更新新增傻瓜指令:
listen 监听当前群聊
unlisten 取消监听当前群聊
reply 回复当前群聊
noreply 不回复当前群聊

开始部署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: {

    },
};

4.在上面文件中access_token中设置一个对接token。
然后在终端设置中或者用其他平台机器人又或者存配置文件里 设置如下命令(终端交互默认关闭,运行携带参数-t即可启用。比如 ./sillyGirl -t)

set qq token 你设置的token

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中设置一个对接token。
然后在终端设置中或者用其他平台机器人又或者存配置文件里 设置如下命令(终端交互默认关闭,运行携带参数-t即可启用。比如 ./sillyGirl -t)

set qq token 你设置的token
启动oicq

oicq 机器人QQ号

oicq 1975537275

Ctrl + C 然后再守护进程

pm2守护进程

pm2 start "oicq 机器人QQ"

pm2 start "oicq 1975537275"

//方法二结束

QQ无法用pm2守护进程的看这里。

最近出现部分服务器无法用pm2守护进程。解决办法是用screen取代。

首先安装screen

  1. 安装

在命令行中执行

screen -ls

如果出现“-bash: screen: command not found”的提示则表明系统中没有安装screen,安装方法如下:
CentOS下使用yum安装

yum -y install screen

Debian或Ubuntu下

apt-get install screen

安装好之后使用screen命令创建一个会话。

#直接使用screen命令创建一个默认名称的会话

screen

#此处推荐使用-S参数指定会话窗口的名称

screen -S qqbot

此时ssh会创建一个新的窗口

然后再执行
cd && cd node-onebot && node main 机器人账号
或者
oicq 机器人QQ号
输入密码、回复完ticket 显示反向链接成功后
使用ctrl+a,然后输入d,退出当前窗口即可。
*注意⚠️:反向链接失败的参考教程第八部分解决。
可以使用-d -r命令切换到对应的会话,后面可以是pid,也可以是名称,以20167.pts-0.computername为例,可以使用下面两种方式进入:

screen -d -r 20167
screen -d -r pts-0.computername

如果退出会话也很简单,首先使用上面的方式进入会话,然后执行exit命令就可以退出了。

QQ机器人老被封?

免封密码
set qq ban_one2one true

设置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
set timeout/interval ? ?
#timeout多少秒后执行某个命令,interval每隔多少秒执行命令。

四、傻妞对接微信、公众号、以及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群323731210下载下图所示文件在这里插入图片描述
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 找这个机器人发送token可以拿到。
然后傻妞设置

set tg url https://xxx.xxx.workers.dev

xxx.xxx是你自定义的域名

set tg token xxx:xxxxxxxxxxxxx

后面xxx:xxxxxxxxxxxxx是你的机器人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:
      - 
        - <br>

        - "\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 插件可调用或被支持的傻妞内置函数(此命令多数转自科技玩家https://www.kejiwanjia.com/jiaocheng/58292.html

// [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)//发送视频
傻妞js插件新功能:
//[show: 插件说明] 自定义插件说明
//[imType:qq,wx] 白名单,只在qq,wx生效
//[imType+:qq,wx] 同上,不写+号默认为白名单模式
//[imType-:qq] 黑名单qq,除了qq生效
//[userId+:id1,id2] 同样支持黑白名单模式
//[groupId+:id1,id2] 同样支持黑白名单模式

其他待补充,就到这吧!

八`反向链接被关闭的原因排除

1.傻妞没在后台运行

执行下面代码
cd && cd sillyGirl && ./sillyGirl ##启动傻妞
自己看目录,此命令适合傻妞安装在root目录下

然后执行下面命令设置后台静默运行

nohup ./sillyGirl 1>/dev/null 2>&1 & #AMD64 静默运行

2.端口没开

端口没放行 打开服务器控制面板-安全组-放行你的映射端口。
如果你有宝塔宝塔安全里也要放行才能打开。

3.傻妞http服务没开启

由于需要访问傻妞http服务,所以我们得开启http服务。
有其他平台机器人的直接机器人发送

set sillyGirl enable_http_server true

set sillyGirl port 8080 ##8080是端口号 根据自己需求修改
没其他机器人的打开/etc/sillyGirl/sets.conf
这个文件把上面这两个命令写进去,然后手动重启一下傻妞
样板文件
在这里插入图片描述

4.检测傻妞是不是可以正常访问

打开ssh工具 链接你的服务器 然后执行下面命令
curl 127.0.0.1:8080
8080为你的傻妞端口 根据实际情况修改 执行
显示如下图算正常
在这里插入图片描述
或者你也可以浏览器打开你的公网IP:port 看看是不是显示 Hello world!
在这里插入图片描述

5.反向WS地址填写错误

这个地址填你的ws://IP:port/qq/receive
如:
ws://127.0.0.1:80/qq/receive

6.其他问题

自行排查

;