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再发送给机器人,才可添加更新账号。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZqU5aOB6ICB546L55qE5bCP5a2p5bCP546L,size_20,color_FFFFFF,t_70,g_se,x_16

特殊问题

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

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

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
qrjdc是一个在线扫码登录工具,可以实现快速登录第三方应用。要想实现qq扫码登录,首先需要在qq开放平台上创建一个应用,并获取到对应的appID和appKey。然后,在qrjdc的管理面板中,将appID和appKey配置好。接下来,在网站的登录界面中,加入qrjdc扫码登录按钮。 当用户点击扫码登录按钮时,会弹出一个二维码,用户直接使用qq扫码工具扫描该二维码。qq扫码工具会自动识别二维码并向qq服务器发送登录请求。qq服务器验证用户身份,并返回一个授权码。 qrjdc会监听qq服务器返回的授权码,并将其发送给我们的后端服务器。后端服务器使用该授权码向qq服务器请求获取用户的基本信息,如昵称、头像等。获取到用户的信息后,后端服务器将用户信息保存在数据库中,并生成一个用户唯一标识,返回给qrjdcqrjdc将用户唯一标识保存在用户的浏览器cookie中。以后,用户访问该网站时,qrjdc会自动检测用户浏览器中的cookie,获取到用户唯一标识,并根据标识查询数据库,从而判断用户是否已登录。如果已登录,则直接显示用户信息;如果未登录,则显示登录按钮,进入扫码登录流程。 青龙是一个云控制面板,可以方便地管理大量的网站。要想对接青龙,我们需要将青龙的API集成到我们的应用中。具体步骤如下: 首先,登录到青龙的后台管理界面,创建一个应用,并获取到对应的应用秘钥。然后,在我们的应用中,引入青龙的SDK,并将应用秘钥配置好。配置完成后,我们的应用就可以通过青龙的API接口,管理青龙的资源了,如添加站点、删除站点、修改站点等。 傻妞是一个智能机器人,可以提供各种功能的对话服务。要想对接傻妞,我们需要将傻妞的API接口引入到我们的应用中。具体步骤如下: 首先,登录傻妞的官方网站,创建一个机器人,并获取到对应的API秘钥。然后,在我们的应用中,引入傻妞的SDK,并将API秘钥配置好。配置完成后,我们的应用就可以通过傻妞的API接口,实现智能对话功能了,如发送消息、接收消息等。 通过以上步骤,我们就可以将qrjdc与qq扫码登录、青龙以及傻妞进行对接,实现扫码登录、管理青龙资源和智能对话等功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值