qrjdc安装教程对接傻妞机器人

首先拉取镜像

docker pull insoxin/qrjdc:latest

创建容器,默认端口5100,大家可以自定义端口,但是一定要去服务器放行端口,有宝塔的,也要去宝塔的安全里放行相同端口。

docker run -dit --name qrjdc -p 5100:5100 -v $PWD/qrjdc/config:/qrjdc/config --restart unless-stopped insoxin/qrjdc:latest

接下来我们去root-qrjdc-config里面修改congif.json文件,将下列代码全覆盖原来的

{
  "Main": {
    "Title": "JD找豆豆",
    "Bg": "https://api.isoyu.com/bing_images.php",
    "okTips": "Cookie获取成功的提示,如:已开启自动上传Cookie,请等待五分钟后查询,未开启则让用户自己手动复制增加",
    "Mode": "RES"
  },
  "QL": {
    "Open": 0,
    "Client_ID": "Open选项:1是打开面板上传,其余任何数字都代表关闭面板上传",
    "Client_Secret": "aaa",
    "URL": "QL面板的连接地址(HTTP或者HTTPS开头,结尾不要有 /)"
  },
  "Notice": "如果需要公告,请在此配置项里面些内容。不需要公告请此配置项留空"
}

点击保存,然后重启qrjdc

docker restart qrjdc

然后我们去root-sillyGirl-develop-replies文件里新建文件名称"qq扫码.js",将下列代码复制进去,修改第十二行的url,url为你自己搭建的qrjdc的地址,保存,然后去qq给傻妞发送重启。

// QRJDC傻妞辅助插件
// [rule:QQ]
// [rule:qq]
// [rule:Qq]
// [rule:QQ扫码]
// [rule:qq扫码]
// [rule:Qq扫码]

// 插件参数
// url替换为自己的QRJDC地址,结尾不要带斜杠:/
// 举例:http://192.168.1.1:5100
let url = "";

// 以下内容不要动
let num = "";
let code = ""

// Main 入口
function main() {
    if (url == "") {
        sendText("JDC对接地址为空,请对接后使用")
        return;
    }
    // 启动提示语
    sendText("欢迎使用QR扫码登录插件【回复“q”、“Q”即可退出】。回复数字“1”,获取登录二维码");
    // 获取内容
    num = input();
	if(num == "q" || num == "Q"){
		sendText("已退出")
		return;
	}else{
        sendText("正在获取登录二维码,请耐心等待.如果二维码提示过期,请先使用'Q'退出后重新获取");
        getQR();
	}
}

// getQR 申请QR
function getQR() {
    // api/GetQR  获取二维码
    let GetQRUrl = url + "/api/GetQR"

    // 发送请求
    let result = request({
        "url": GetQRUrl, //请求链接
        "method": "post", //请求方法
        "dataType": "json",
        "timeout": 60*1000,
    });

    if (!result) {
        sendText("运行出错, 请尝试升级到(1647961947311)或以上版本");
        return;
    }

    // 判断状态
    if (result.code == 1001) {
        numRandom = Math.round(Math.random()*10000);
        console.log(url + "/img/" + String(numRandom));
        let ImgUrl = url + "/img/" + String(numRandom) + ".png"
        sendImage(ImgUrl);

        sendText("QR获取成功, 扫码登陆后请回复:“2”");
        num = input();
        if(num == "q" || num == "Q"){
            quitQRJDC();
            sendText("已退出");
            return;
        }else if(num == "2"){
            // 发送登录请求
            LoginQR();
        } else {
            sendText("请勿乱回复,已自动退出");
            quitQRJDC();
            return;
        }
    } else {
        sendText("服务出错,请联系管理员");
        return;
    }
}

function LoginQR() {
    // api/LoginQR  扫码登录
    let LoginQRUrl = url + "/api/LoginQR"

    // 发送请求
    let result = request({
        "url": LoginQRUrl, //请求链接
        "method": "post", //请求方法
        "dataType": "json",
        "timeout": 60*1000,
    });

    if (!result) {
        quitQRJDC();
        sendText("获取超时,请重新申请登录");
        return;
    }

    // 判断状态
    if (result.code == 1001) {
        // 获取成功
        sendText("Cookie获取成功");
        sendText(result.msg);
    } else if(result.code == 1010) {
        // 需要二次验证
        sendText("需要二次验证,请输入收到的短信验证码:");
        LoginCode();
    } else {
        sendText("Cookie获取失败,请重新获取");
        return;
    }
}

function LoginCode() {
    // api/LoginCode  二次验证登录
    let LoginCodeUrl = url + "/api/LoginCode"
    code = input();

    if(code == "q" || code == "Q"){
        quitQRJDC();
        sendText("已退出");
        return;
    } else {
        // 发送请求
        let body = {"code":code}
        let result = request({
            "url": LoginCodeUrl, //请求链接
            "method": "post", //请求方法
            "dataType": "json",
            "body": body,
            "timeout": 60*1000,
        });
        
        if (!result) {
            quitQRJDC();
            sendText("获取超时,请重新申请登录");
            return;
        }

        // 判断状态
        if (result.code == 1001) {
            // 获取成功
            sendText("Cookie获取成功");
            sendText(result.ck);
        } else {
            quitQRJDC();
            sendText("Cookie获取失败,请检查验证码是否正确后重新登录");
            return;
        }
    }

}

// 退出QRJDC
function quitQRJDC(){
    let quitQRUrl = url + "/quit"
    request({
        "url": quitQRUrl, //请求链接
        "method": "post", //请求方法
        "timeout": 60*1000,
    });
}

main()

在傻妞上扫码获取ck,前提qq要绑定京东ck,获取到ck后,需手动将ck再发送给机器人,才可添加更新账号。

qrjdc安装教程对接傻妞机器人_第1张图片

特殊问题

如果出现获取cookie失败的情况,那就是你的qq未绑定京东

绑定路径: QQ钱包--京东购物--我的(或者右下角显示未登录点击)--登录绑定后,再去找机器人扫码,就可以获取ck了。

你可能感兴趣的:(linux)