Giter VIP home page Giter VIP logo

qq-bot-rebown's Introduction

DEPRECATED

  • Sat 05 Jan 2019 02:02:40 PM CST

腾讯已将部分 Smart QQ 的域名指向了不可用的 IP 地址。 Smart QQ 彻底凉了。本项目即日起不再维护。

$ drill s.web2.qq.com
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 27920
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; s.web2.qq.com.       IN      A

;; ANSWER SECTION:
s.web2.qq.com.  579     IN      A       0.0.0.1

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 13 msec
;; EDNS: version 0; flags: ; udp: 4096
;; SERVER: 127.0.0.1
;; WHEN: Sat Jan  5 14:15:32 2019
;; MSG SIZE  rcvd: 71

qq-bot-rebown

npm version dependencies status

使用 ES7 async/await 语法编写的 Web QQ 机器人。

Features

  • 扫码登录
  • 密码登录 (powered by puppeteer
  • 使用最近一次登录过的 Cookie 自动登录
  • 记录每条收到的消息以及发送者
  • 使用 EventEmitter 管理事件(登录、消息、断线等)
  • 缩短 URL (使用 t.cn 短链接服务)
  • 对所有数据提供 .d.ts 类型定义

RouteMap

  • 发送图片或文件 (WIP)
  • 在群中 @ 群成员 (WIP)

Usage

Example

const { QQ } = require('qq-bot-rebown');

// 构造函数可以添加参数
// 详情参阅 [tsd 类型定义文件](./index.d.ts) 中 QQOptions 部分
const qq = new QQ();

// 设置 “收到消息” 事件监听
qq.on('msg', (msg) => {
    console.log(JSON.stringify(msg));
});

// 设置 “收到好友消息” 事件监听
qq.on('buddy', (msg) => {
    qq.sendBuddyMsg(msg.id, `Hello, ${msg.name}`);
});

// 不要忘记启动 :)
qq.run();

若系统支持,程序将自动打开二维码,请扫码并允许登录。

Output

v2.0.0+,密码登录
[Sat Jan 20 2018 16:17:38 GMT+0800 (CST)] INFO (-/5) 帐号密码登录
[Sat Jan 20 2018 16:17:50 GMT+0800 (CST)] INFO (-/5) 帐号密码验证成功
[Sat Jan 20 2018 16:17:50 GMT+0800 (CST)] INFO (4/5) 获取 vfwebqq 成功
[Sat Jan 20 2018 16:17:50 GMT+0800 (CST)] INFO (5/5) 获取 psessionid 和 uin 成功
[Sat Jan 20 2018 16:17:50 GMT+0800 (CST)] INFO 开始获取帐号信息及联系人列表
[Sat Jan 20 2018 16:17:50 GMT+0800 (CST)] INFO 保存 Cookie 到 /tmp/no.cookie
[Sat Jan 20 2018 16:17:54 GMT+0800 (CST)] INFO 开始接收消息...
[Sat Jan 20 2018 16:24:38 GMT+0800 (CST)] INFO [Bot601测试群.BetaChat] hello, world
{"content":"hello, world","type":"group","id":3751278540,"name":"BetaChat","groupId":2657590898,"groupName":"Bot601测试群"}
[Sat Jan 20 2018 16:24:49 GMT+0800 (CST)] INFO [BetaChat] 测试一下
{"content":"测试一下","type":"buddy","id":3751278540,"name":"BetaChat"}
[Sat Jan 20 2018 16:24:49 GMT+0800 (CST)] INFO => [BetaChat] Hello, BetaChat
v1.0.0+,二维码登录
[Tue Sep 26 2017 19:55:17 GMT+0800 (CST)] INFO (0/5) 开始登录,准备下载二维码
[Tue Sep 26 2017 19:55:18 GMT+0800 (CST)] INFO (1/5) 二维码下载到 /tmp/qq-bot-code.png ,等待扫描
[Tue Sep 26 2017 19:55:37 GMT+0800 (CST)] INFO (2/5) 二维码扫描完成
[Tue Sep 26 2017 19:55:37 GMT+0800 (CST)] INFO (3/5) 获取 ptwebqq 成功
[Tue Sep 26 2017 19:55:37 GMT+0800 (CST)] INFO (4/5) 获取 vfwebqq 成功
[Tue Sep 26 2017 19:55:37 GMT+0800 (CST)] INFO (5/5) 获取 psessionid 和 uin 成功
[Tue Sep 26 2017 19:55:37 GMT+0800 (CST)] INFO 开始获取用户信息
[Tue Sep 26 2017 19:55:37 GMT+0800 (CST)] INFO 保存 Cookie 到 /tmp/my-qq-bot.cookie
[Tue Sep 26 2017 19:55:38 GMT+0800 (CST)] INFO 开始获取好友列表
[Tue Sep 26 2017 19:55:38 GMT+0800 (CST)] INFO 开始获取好友在线状态
[Tue Sep 26 2017 19:55:38 GMT+0800 (CST)] INFO 开始获取讨论组列表
[Tue Sep 26 2017 19:55:38 GMT+0800 (CST)] INFO 开始获取群列表
[Tue Sep 26 2017 19:55:47 GMT+0800 (CST)] INFO 信息初始化完成
[Tue Sep 26 2017 19:55:47 GMT+0800 (CST)] INFO 开始接收消息...
[Tue Sep 26 2017 19:55:56 GMT+0800 (CST)] INFO [群消息] Bot测试群 : Rocka | 测试
{"content":"测试","type":"group","id":4044871627,"name":"Rocka","groupId":2164848864,"groupName":"Bot测试群"}
[Tue Sep 26 2017 19:58:47 GMT+0800 (CST)] INFO [新消息] Pugna | Hello
{"content":"Hello","type":"buddy","id":3249866953,"name":"Pugna"}
[Tue Sep 26 2017 19:58:47 GMT+0800 (CST)] INFO 发消息给好友 Pugna : Hello, Pugna

Docs

事件(Events)列表

Under construction

可先参考 tsd 类型定义文件

短链接 API

const { shortenUrl } = require('qq-bot-rebown');

shortenUrl('https://github.com').then(console.log);
// http://t.cn/RxnlTYR

shortenUrl(['https://gitlab.com', 'https://gist.github.com']).then(console.log);
// [ 'http://t.cn/RhJnX41', 'http://t.cn/amvA44' ]

qq-bot-rebown's People

Contributors

rocka avatar tongjinle avatar zahariel1942 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qq-bot-rebown's Issues

用cookie登录的话, 2天后就失效了

请问有试过登录2天后就要重新扫描登录吗, 我改成每隔5分钟登录一次, 这样cookie应该一直都是最新的, 可还是会出现要扫描登录

账号密码登录超时

以下是运行时的全部日志:
[Tue Mar 27 2018 10:46:11 GMT+0800 (**标准时间)] INFO (-/5) 帐号密码登录
[Tue Mar 27 2018 10:46:49 GMT+0800 (**标准时间)] ERROR Login with puppeteer:
Error: waiting failed: timeout 30000ms exceeded
at Timeout.WaitTask._timeoutTimer.setTimeout (D:\Work\QQBot2\node_modules\puppeteer\lib\FrameManager.js:793:58)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
[Tue Mar 27 2018 10:46:49 GMT+0800 (**标准时间)] ERROR Screenshot saved to C:\Users\JIM\AppData\Local\Temp\qq-bot-rebown-shcSAN\1522118809065.png

请求502错误 程序意外终止问题

loopPoll 函数中 信息请求 有可能出现502的错误 导致程序意外终止
还有 handelMsgRecv(msg) msg 有可能 返回 错误 {errmsg:'',retcode:''} 这样的数据
不过这个是 之前的版本 你最新提交的 没有测试过····= -=

QQ Bot got an error after join a new group

将机器人同学加入一个新的群(共3人)后,使用 QQ.getGroup() 可以获取该群信息。
群员在群内发送任意消息后产生报错。

(node:9034) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'find' of undefined
    at QQ.getNameInGroup (/home/kiko/REPO/qqbot/node_modules/qq-bot-rebown/src/qq/index.js:439:39)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:9034) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:9034) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

可以接收系统消息吗

group.info.cards && group.info.cards.some(i => i.muin == uin ? name = i.card : false);
if (!name) group.info.minfo.some(i => i.uin == uin ? name = i.nick : false);

另外group.info.cards出现undefined的情况

能接收消息但是发送失败

[Mon May 22 2017 13:08:57 GMT+0800 (CST)] DEBUG HTTP:
POST http://d1.web2.qq.com/channel/send_qun_msg2
Status: 200 OK
Response Headers: {
  "date": "Mon, 22 May 2017 05:08:57 GMT",
  "content-type": "text/plain; charset=UTF-8",
  "transfer-encoding": "chunked",
  "connection": "close",
  "server": "tws",
  "vary": "Accept-Encoding",
  "cache-control": "no-cache"
}
Request Headers: {
  "Accept": "application/json, text/plain, */*",
  "Content-Type": "application/x-www-form-urlencoded",
  "Content-Length": 648,
  "Cookie": {
    "pgv_info": "ssid=s2088111312",
    "pgv_pvid": "5661591598",
    "pt_user_id": "13621684616294254017",
    "pt_login_sig": "EIui83dYHrMVwMjGojfAji5VA1F6kGEiJ9suo968Ng3GygQzxNJJhn-PnjGkkirv",
    "pt_clientip": "c0047bce78b69c37",
    "pt_serverip": "febb0abf0659bad8",
    "ptui_identifier": "000D93D26864D05C70AE691D62EBF1011F99D182FC1607093881D6890C",
    "qrsig": "SwlhcuQG7e3Ywa-G7*cOuSuI12krcArZjB4LcBnPoz5n8UWVomFEXsuF6tPGEauE",
    "pt2gguin": "o3473782695",
    "uin": "o3473782695",
    "skey": "@Wr7uCs19b",
    "ETK": "",
    "superuin": "o3473782695",
    "superkey": "CYsJrjzOs9kiy*mZITuRkwg1XkaxRGhIQi8NjG0ZyYw_",
    "supertoken": "2290148111",
    "pt_recent_uins": "20e4ca5dc1487e93167c5244921fede3a7bc49b169a7071b512074d81283b77e4f13fb759440895b001d357c6abfab00056fba5dfc8a9953",
    "RK": "A1lLiOcv6l",
    "ptnick_3473782695": "4265746143686174",
    "ptwebqq": "1ae426fbfb78c0ed3cec458dbe41080a722f440c1ab7dd4f7ed3885df4bfb4cc",
    "p_uin": "o3473782695",
    "p_skey": "RdBZAn2hJaqw54nVqx8ycuy8pGDdHf8CSOdyjRyPaSA_",
    "pt4_token": "26XR2bbRpfzhqiVUfuJP-OfVcPtGmtignpdIAPZDTCo_"
  },
  "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0",
  "Referer": "http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2"
}
[Mon May 22 2017 13:08:57 GMT+0800 (CST)] DEBUG { errmsg: 'error!!!', retcode: 1202 }

重启进程后报错:

[Mon May 22 2017 13:14:14 GMT+0800 (CST)] INFO (5/5) 获取 psessionid 和 uin 成功
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] INFO 开始获取用户信息
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] INFO 开始获取好友列表
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] INFO 开始获取好友在线状态
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] INFO 开始获取讨论组列表
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] INFO 开始获取群列表
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] INFO 保存 Cookie 到 /tmp/qq-bot.cookie
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] DEBUG HTTP:
POST http://s.web2.qq.com/api/get_user_friends2
Status: 200 OK
Response Headers: {
  "date": "Mon, 22 May 2017 05:14:14 GMT",  
  "content-type": "application/json;charset=utf-8",
  "content-length": "13",
  "connection": "close",
  "server": "nginx"
}
Request Headers: {
  "Accept": "application/json, text/plain, */*",
  "Content-Type": "application/x-www-form-urlencoded",
  "Content-Length": 148,
  "Cookie": {
    "pgv_info": "ssid=s2088111312",
    "pgv_pvid": "5661591598",
    "pt_user_id": "13621684616294254017",   
    "pt_login_sig": "EIui83dYHrMVwMjGojfAji5VA1F6kGEiJ9suo968Ng3GygQzxNJJhn-PnjGkkirv",
    "pt_clientip": "c0047bce78b69c37",
    "pt_serverip": "febb0abf0659bad8",
    "ptui_identifier": "000D93D26864D05C70AE691D62EBF1011F99D182FC1607093881D6890C",
    "qrsig": "SwlhcuQG7e3Ywa-G7*cOuSuI12krcArZjB4LcBnPoz5n8UWVomFEXsuF6tPGEauE",
    "pt2gguin": "o3473782695",
    "uin": "o3473782695",
    "skey": "@Wr7uCs19b",
    "ETK": "",
    "superuin": "o3473782695",
    "superkey": "CYsJrjzOs9kiy*mZITuRkwg1XkaxRGhIQi8NjG0ZyYw_",
    "supertoken": "2290148111",
    "pt_recent_uins": "20e4ca5dc1487e93167c5244921fede3a7bc49b169a7071b512074d81283b77e4f13fb759440895b001d357c6abfab00056fba5dfc8a9953",
    "RK": "A1lLiOcv6l",
    "ptnick_3473782695": "4265746143686174",
    "ptwebqq": "1ae426fbfb78c0ed3cec458dbe41080a722f440c1ab7dd4f7ed3885df4bfb4cc",
    "p_uin": "o3473782695",
    "p_skey": "RdBZAn2hJaqw54nVqx8ycuy8pGDdHf8CSOdyjRyPaSA_",
    "pt4_token": "26XR2bbRpfzhqiVUfuJP-OfVcPtGmtignpdIAPZDTCo_"
  },
  "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0",
  "Referer": "http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1"
}
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] DEBUG HTTP:
GET http://s.web2.qq.com/api/get_self_info2?t=1495430053848
Status: 200 OK
Response Headers: {
  "date": "Mon, 22 May 2017 05:14:14 GMT",  
  "content-type": "application/json;charset=utf-8",
  "content-length": "117",
  "connection": "close",
  "server": "nginx"
}
Request Headers: {
  "Accept": "application/json, text/plain, */*",
  "Cookie": {
    "pgv_info": "ssid=s2088111312",
    "pgv_pvid": "5661591598",
    "pt_user_id": "13621684616294254017",   
    "pt_login_sig": "EIui83dYHrMVwMjGojfAji5VA1F6kGEiJ9suo968Ng3GygQzxNJJhn-PnjGkkirv",
    "pt_clientip": "c0047bce78b69c37",
    "pt_serverip": "febb0abf0659bad8",
    "ptui_identifier": "000D93D26864D05C70AE691D62EBF1011F99D182FC1607093881D6890C",
    "qrsig": "SwlhcuQG7e3Ywa-G7*cOuSuI12krcArZjB4LcBnPoz5n8UWVomFEXsuF6tPGEauE",
    "pt2gguin": "o3473782695",
    "uin": "o3473782695",
    "skey": "@Wr7uCs19b",
    "ETK": "",
    "superuin": "o3473782695",
    "superkey": "CYsJrjzOs9kiy*mZITuRkwg1XkaxRGhIQi8NjG0ZyYw_",
    "supertoken": "2290148111",
    "pt_recent_uins": "20e4ca5dc1487e93167c5244921fede3a7bc49b169a7071b512074d81283b77e4f13fb759440895b001d357c6abfab00056fba5dfc8a9953",
    "RK": "A1lLiOcv6l",
    "ptnick_3473782695": "4265746143686174",
    "ptwebqq": "1ae426fbfb78c0ed3cec458dbe41080a722f440c1ab7dd4f7ed3885df4bfb4cc",
    "p_uin": "o3473782695",
    "p_skey": "RdBZAn2hJaqw54nVqx8ycuy8pGDdHf8CSOdyjRyPaSA_",
    "pt4_token": "26XR2bbRpfzhqiVUfuJP-OfVcPtGmtignpdIAPZDTCo_"
  },
  "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0",
  "Referer": "http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1"
}
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] DEBUG HTTP:
POST http://s.web2.qq.com/api/get_group_name_list_mask2
Status: 200 OK
Response Headers: {
  "date": "Mon, 22 May 2017 05:14:14 GMT",  
  "content-type": "application/json;charset=utf-8",
  "content-length": "13",
  "connection": "close",
  "server": "nginx"
}
Request Headers: {
  "Accept": "application/json, text/plain, */*",
  "Content-Type": "application/x-www-form-urlencoded",
  "Content-Length": 148,
  "Cookie": {
    "pgv_info": "ssid=s2088111312",
    "pgv_pvid": "5661591598",
    "pt_user_id": "13621684616294254017",   
    "pt_login_sig": "EIui83dYHrMVwMjGojfAji5VA1F6kGEiJ9suo968Ng3GygQzxNJJhn-PnjGkkirv",
    "pt_clientip": "c0047bce78b69c37",
    "pt_serverip": "febb0abf0659bad8",
    "ptui_identifier": "000D93D26864D05C70AE691D62EBF1011F99D182FC1607093881D6890C",
    "qrsig": "SwlhcuQG7e3Ywa-G7*cOuSuI12krcArZjB4LcBnPoz5n8UWVomFEXsuF6tPGEauE",
    "pt2gguin": "o3473782695",
    "uin": "o3473782695",
    "skey": "@Wr7uCs19b",
    "ETK": "",
    "superuin": "o3473782695",
    "superkey": "CYsJrjzOs9kiy*mZITuRkwg1XkaxRGhIQi8NjG0ZyYw_",
    "supertoken": "2290148111",
    "pt_recent_uins": "20e4ca5dc1487e93167c5244921fede3a7bc49b169a7071b512074d81283b77e4f13fb759440895b001d357c6abfab00056fba5dfc8a9953",
    "RK": "A1lLiOcv6l",
    "ptnick_3473782695": "4265746143686174",
    "ptwebqq": "1ae426fbfb78c0ed3cec458dbe41080a722f440c1ab7dd4f7ed3885df4bfb4cc",
    "p_uin": "o3473782695",
    "p_skey": "RdBZAn2hJaqw54nVqx8ycuy8pGDdHf8CSOdyjRyPaSA_",
    "pt4_token": "26XR2bbRpfzhqiVUfuJP-OfVcPtGmtignpdIAPZDTCo_"
  },
  "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0",
  "Referer": "http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1"
}
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] DEBUG HTTP:
POST http://s.web2.qq.com/api/get_discus_list?clientid=53999199&psessionid=8368046764001d636f6e6e7365727665725f77656271714031302e3133332e34312e383400001ad00000066b026e040015808a206d0000000a406172314338344a69526d0000002859185d94e66218548d1ecb1a12513c86126b3afb97a3c2955b1070324790733ddb059ab166de6857&vfwebqq=8d793b6183f781c72a7fa1bbe89cab16e3732066a2d3c7951144a6281158b5a796b9b6c7d93ed4ef&t=0.8958348874430755
Status: 200 OK
Response Headers: {
  "date": "Mon, 22 May 2017 05:14:14 GMT",  
  "content-type": "application/json;charset=utf-8",
  "content-length": "13",
  "connection": "close",
  "server": "nginx"
}
Request Headers: {
  "Accept": "application/json, text/plain, */*",
  "Content-Type": "application/x-www-form-urlencoded",
  "Content-Length": 148,
  "Cookie": {
    "pgv_info": "ssid=s2088111312",
    "pgv_pvid": "5661591598",
    "pt_user_id": "13621684616294254017",   
    "pt_login_sig": "EIui83dYHrMVwMjGojfAji5VA1F6kGEiJ9suo968Ng3GygQzxNJJhn-PnjGkkirv",
    "pt_clientip": "c0047bce78b69c37",
    "pt_serverip": "febb0abf0659bad8",
    "ptui_identifier": "000D93D26864D05C70AE691D62EBF1011F99D182FC1607093881D6890C",
    "qrsig": "SwlhcuQG7e3Ywa-G7*cOuSuI12krcArZjB4LcBnPoz5n8UWVomFEXsuF6tPGEauE",
    "pt2gguin": "o3473782695",
    "uin": "o3473782695",
    "skey": "@Wr7uCs19b",
    "ETK": "",
    "superuin": "o3473782695",
    "superkey": "CYsJrjzOs9kiy*mZITuRkwg1XkaxRGhIQi8NjG0ZyYw_",
    "supertoken": "2290148111",
    "pt_recent_uins": "20e4ca5dc1487e93167c5244921fede3a7bc49b169a7071b512074d81283b77e4f13fb759440895b001d357c6abfab00056fba5dfc8a9953",
    "RK": "A1lLiOcv6l",
    "ptnick_3473782695": "4265746143686174",
    "ptwebqq": "1ae426fbfb78c0ed3cec458dbe41080a722f440c1ab7dd4f7ed3885df4bfb4cc",
    "p_uin": "o3473782695",
    "p_skey": "RdBZAn2hJaqw54nVqx8ycuy8pGDdHf8CSOdyjRyPaSA_",
    "pt4_token": "26XR2bbRpfzhqiVUfuJP-OfVcPtGmtignpdIAPZDTCo_"
  },
  "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0",
  "Referer": "http://s.web2.qq.com/proxy.html?v=20130916001&callback=1&id=1"
}
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] DEBUG HTTP:
GET http://d1.web2.qq.com/channel/get_online_buddies2?vfwebqq=8d793b6183f781c72a7fa1bbe89cab16e3732066a2d3c7951144a6281158b5a796b9b6c7d93ed4ef&clientid=53999199&psessionid=8368046764001d636f6e6e7365727665725f77656271714031302e3133332e34312e383400001ad00000066b026e040015808a206d0000000a406172314338344a69526d0000002859185d94e66218548d1ecb1a12513c86126b3afb97a3c2955b1070324790733ddb059ab166de6857&t=0.9061989607486207
Status: 200 OK
Response Headers: {
  "date": "Mon, 22 May 2017 05:14:14 GMT",  
  "content-type": "text/plain; charset=UTF-8",
  "transfer-encoding": "chunked",
  "connection": "close",
  "server": "tws",
  "vary": "Accept-Encoding",
  "cache-control": "no-cache"
}
Request Headers: {
  "Accept": "application/json, text/plain, */*",
  "Cookie": {
    "pgv_info": "ssid=s2088111312",
    "pgv_pvid": "5661591598",
    "pt_user_id": "13621684616294254017",   
    "pt_login_sig": "EIui83dYHrMVwMjGojfAji5VA1F6kGEiJ9suo968Ng3GygQzxNJJhn-PnjGkkirv",
    "pt_clientip": "c0047bce78b69c37",
    "pt_serverip": "febb0abf0659bad8",
    "ptui_identifier": "000D93D26864D05C70AE691D62EBF1011F99D182FC1607093881D6890C",
    "qrsig": "SwlhcuQG7e3Ywa-G7*cOuSuI12krcArZjB4LcBnPoz5n8UWVomFEXsuF6tPGEauE",
    "pt2gguin": "o3473782695",
    "uin": "o3473782695",
    "skey": "@Wr7uCs19b",
    "ETK": "",
    "superuin": "o3473782695",
    "superkey": "CYsJrjzOs9kiy*mZITuRkwg1XkaxRGhIQi8NjG0ZyYw_",
    "supertoken": "2290148111",
    "pt_recent_uins": "20e4ca5dc1487e93167c5244921fede3a7bc49b169a7071b512074d81283b77e4f13fb759440895b001d357c6abfab00056fba5dfc8a9953",
    "RK": "A1lLiOcv6l",
    "ptnick_3473782695": "4265746143686174",
    "ptwebqq": "1ae426fbfb78c0ed3cec458dbe41080a722f440c1ab7dd4f7ed3885df4bfb4cc",
    "p_uin": "o3473782695",
    "p_skey": "RdBZAn2hJaqw54nVqx8ycuy8pGDdHf8CSOdyjRyPaSA_",
    "pt4_token": "26XR2bbRpfzhqiVUfuJP-OfVcPtGmtignpdIAPZDTCo_"
  },
  "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0",
  "Referer": "http://d1.web2.qq.com/proxy.html?v=20151105001&callback=1&id=2"
}
[Mon May 22 2017 13:14:14 GMT+0800 (CST)] DEBUG [
    {
        "retcode": 6,
        "result": {
            "vfwebqq": "aca0a384c4031c5f575c4febc2d8ab1383065d81e522583e9fbf53f4066edb8dcd95bae1d2dfb098"
        }
    },
    {
        "retcode": 6
    },
    {
        "errmsg": "error!!!",
        "retcode": 1202
    },
    {
        "retcode": 6
    },
    {
        "retcode": 6
    }
]
(node:15690) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'dnamelist' of undefined
(node:15690) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
^C⏎

猜测是需要使用新的 vfwebqq 进行请求。

是否可以发送图片信息

RT
我尝试了用官方web版的qq
我在webqq上登陆了我的qq A
我在客户端上登陆了我的qq B
我使用B对A发送了图片,但是A上没有能接收到(严格来说,可能是接受到了信息,但是没有显示出来)

是webqq就是不可以发送接受图片,还是我漏看了什么

程序意外终止

此次程序终止放生再第一次扫码登录(第一次保存cookie)24小时之后,24小时之间有过重新启动程序。
错误信息如下:
[Mon Mar 26 2018 15:48:10 GMT+0800 (**标准时间)] WARNING [loopPoll] Request Failed: { Error: socket hang up
at createHangUpError (_http_client.js:331:15)
at TLSSocket.socketOnEnd (_http_client.js:423:23)
at emitNone (events.js:111:20)
at TLSSocket.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1056:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
code: 'ECONNRESET',

这两天获取好友和获取群一直失败

[Fri May 25 2018 17:47:14 GMT+0800 (**标准时间)] WARNING 尝试获取好友列表时失败: { retcode: 100003,
result:
{ friends:
[ [Object],

[Fri May 25 2018 17:52:21 GMT+0800 (**标准时间)] WARNING 尝试获取群信息时失败: { retcode: 100003,
result:
{ ginfo:
{ face: 0,
memo: '',
不知道什么问题,前几天还是可以的,几天没用,今天打开就这样了,群信息可以收到,但是群里面的好友名字是uin

程序崩溃

错误信息如下:
(node:2200) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Request failed with status code 504
(node:2200) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

不能发送群消息,并且从log上看也不出是什么问题

当我执行
qq.on('msg', (msg) => { console.log(msg) qq.sendGroupMsg(msg.groupId, '你说你天天的不好好上班就知道灌水') });
的时候后,我得到了这样的结果
image

还有msg里面的groupId是群号码吗?因为我在qq的客户端上看到群id是333057040,在log中看到的是3034714341

希望可以解答一下,谢谢~~

登录后无法接收到消息

[Fri Sep 29 2017 21:00:45 GMT+0800 (**标准时间)] INFO (-/5) 检测到 cookie 文件
,尝试自动登录
[Fri Sep 29 2017 21:00:45 GMT+0800 (**标准时间)] INFO (4/5) 获取 vfwebqq 成功
[Fri Sep 29 2017 21:00:46 GMT+0800 (**标准时间)] INFO (5/5) 获取 psessionid 和
 uin 成功
[Fri Sep 29 2017 21:00:46 GMT+0800 (**标准时间)] INFO 开始获取用户信息
[Fri Sep 29 2017 21:00:46 GMT+0800 (**标准时间)] INFO 保存 Cookie 到 C:\Users\
ADMINI~1\AppData\Local\Temp\qq-bot.cookie
[Fri Sep 29 2017 21:00:46 GMT+0800 (**标准时间)] INFO 开始获取好友列表
[Fri Sep 29 2017 21:00:46 GMT+0800 (**标准时间)] INFO 开始获取好友在线状态
[Fri Sep 29 2017 21:00:46 GMT+0800 (**标准时间)] INFO 开始获取讨论组列表
[Fri Sep 29 2017 21:00:46 GMT+0800 (**标准时间)] INFO 开始获取群列表
[Fri Sep 29 2017 21:00:49 GMT+0800 (**标准时间)] INFO 信息初始化完成
[Fri Sep 29 2017 21:00:49 GMT+0800 (**标准时间)] INFO 开始接收消息...

自己在群里发言 msg.name = undefined.

不知道是feature 还是 bug 😂 , 用我自己的号login, 然后在手机上也用自己的号在群里发消息, msg.name 是 undefined

[Wed Aug 16 2017 16:44:17 GMT+1000 (AEST)] INFO [群消息] xxxxxxxxx : undefined | 你们打才有用

大神,这个能不能集成到electron-vue里面?给个集成的demo好吗

我把它放在electron主线程里面都不执行
import { app, BrowserWindow } from 'electron'
const {ipcMain} = require('electron');
import {QQ} from 'qq-bot-rebown';
const qq = new QQ();
qq.on('msg', (msg) => {
console.log(JSON.stringify(msg));
});
qq.on('buddy', (msg) => {
qq.sendBuddyMsg(msg.id, Hello, ${msg.name});
});
qq.run();

信息已发送但是仍然retcode=1202并且重发

尤其是发送内容含有链接的时候。没有链接有时候也会。显示1202,重试N次,经常2-5连发刷屏……

有办法避免这种情况么?或者1202的情况干脆别重试了【或者给个disable的option?】

msgContent errmsg 缺少错误处理

在程序执行一段时间后会接收到这样一条msg

msgContent
Object {errmsg: "error", retcode: -1}

msg不包含result[], 会引发logMessagehandelMsgRecv方法中

msg.result[0].value.content.filter  

undefined.

账号密码登录的方式无效

const qq = new QQ({ app: { login: QQ.LOGIN.PWD, }, auth: { u: 'qq号', p: '密码', }, })
会有下面报错

[Mon Jul 09 2018 15:13:46 GMT+0800 (CST)] ERROR Login with puppeteer:
TypeError: Cannot read property 'click' of null
at Object.getTokens (/Users/fage/Documents/workspace/js/qiangdahongbao/wechat-robot/node_modules/.2.1.8@qq-bot-rebown/src/qq/headless.js:40:26)
at
at process._tickCallback (internal/process/next_tick.js:118:7)
[Mon Jul 09 2018 15:13:47 GMT+0800 (CST)] ERROR Screenshot saved to /var/folders/03/3xqpky1d2vvfg1n2xp06b28h0000gn/T/qq-bot-rebown-FuaEhy/1531120426788.png

发生错误的代码是在这一块

if (ptLoginURL.startsWith('https://xui.ptlogin2.qq.com/cgi-bin/xlogin')) { ptLoginFrame.waitFor('#qlogin_list a.face'); log.debug('Clicking avatar...'); const avatar = await ptLoginFrame.$('#qlogin_list a.face'); await avatar.click(); }
我人工去点击了一下这个div,跳转链接是这个https://xui.ptlogin2.qq.com/cgi-bin/&regmaster=&aid=501004106&s_url=http%3A%2F%2Fweb2.qq.com%2Fproxy.html,404啦

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.