@@ -38,32 +38,22 @@ ziye
⚠️ 宝箱奖励为20分钟一次, 自己根据情况设置定时, 建议设置11分钟一次
hostname=mqqapi.reader.qq.com
############## 圈x
#企鹅读书获取cookie
https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js
#企鹅读书获取更新body
https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track url script-request-body https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js
#企鹅读书获取时长cookie
https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? url script-request-header https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js
############## loon
//企鹅读书获取cookie
http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js,requires-header=true, tag= 企鹅读书获取cookie
//企鹅读书获取时长cookie
#企鹅读书获取更新body
http-request https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js,requires-body=true, tag=企鹅读书获取更新body
# 企鹅读书获取时长 cookie
http-request https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid? script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true, tag=企鹅读书获取时长cookie
############## surge
#企鹅读书获取更新body
企鹅读书获取更新body = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/log\/v4\/mqq\/track,requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, script-update-interval=0
#企鹅读书获取时长cookie
企鹅读书获取时长cookie = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js
//企鹅读书获取cookie
企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/user\/init,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true
//企鹅读书获取时长cookie
企鹅读书 = type=http-request,pattern=https:\/\/mqqapi\.reader\.qq\.com\/mqq\/addReadTimeWithBid?,script-path=https://raw.githubusercontent.com/lxk0301/jd_scripts/master/backUp/qqread.js, requires-header=true
*/
@@ -74,20 +64,14 @@ let task = '', config, ssr2 = '', wktime;
console . log ( ` \n ========= 脚本执行时间(TM): ${ new Date ( new Date ( ) . getTime ( ) + 0 * 60 * 60 * 1000 ) . toLocaleString ( 'zh' , { hour12 : false } )} ========= \n ` )
const logs = 1 ; //0为关闭日志, 1为开启
const notifyInterval = 3
//0为关闭通知, 1为所有通知, 2为宝箱领取成功通知, 3为宝箱每15次通知一次
const dd = 1 //单次任务延迟,默认1秒
const TIME = 30 //单次时长上传限制, 默认5分钟
const maxtime = 20 //每日上传时长限制, 默认20小时
const wktimess = 1200 //周奖励领取标准, 默认1200分钟
var tz = ''
const qqreadurlVal = ` https://mqqapi.reader.qq.com/mqq/user/init ` ;
cons t qqreadurlKey = 'qqreadurl'
// const qqreadurlVal = $.getdata(qqreadurlKey)
let tz = ''
const qqreadbodyValKey = 'qqreadbodyVal'
le t qqreadbodyVal = $ . getdata ( qqreadbodyValKey )
const qqreadheaderKey = 'qqreadhd'
let qqreadheaderVal = $ . getdata ( qqreadheaderKey )
const qqreadtimeurlKey = 'qqreadtimeurl'
let qqreadtimeurlVal = $ . getdata ( qqreadtimeurlKey )
@@ -97,24 +81,23 @@ let qqreadtimeheaderVal = $.getdata(qqreadtimeheaderKey)
//云函数使用在下面填写
let QQ _READ _COOKIES = [
{
qqreadurlVal ,
"qqreadheaderVal" : ` ` ,
" qqreadbodyVal" : ` ` ,
"qqreadtimeurlVal" : ` ` ,
"qqreadtimeheaderVal" : ` `
}
]
function getNodeCookie ( ) {
if ( $ . isNode ( ) ) {
let QQ _READ _HEADER _VAL = [ ] , QQ _READ _TIME _URL _VAL = [ ] , QQ _READ _TIME _HEADER _VAL = [ ] ;
let QQ _READ _BODY _VAL = [ ] , QQ _READ _TIME _URL _VAL = [ ] , QQ _READ _TIME _HEADER _VAL = [ ] ;
if ( process . env . QQ _READ _HEADER _VAL ) {
if ( process . env . QQ _READ _HEADER _VAL . indexOf ( '@' ) > - 1 ) {
console . log ( ` 您的QQ_READ_HEADER_VAL选择的是用@隔开 \n ` )
QQ _READ _HEADER _VAL = process . env . QQ _READ _HEADER _VAL . split ( '@' ) ;
QQ _READ _BODY _VAL = process . env . QQ _READ _HEADER _VAL . split ( '@' ) ;
} else if ( process . env . QQ _READ _HEADER _VAL . indexOf ( '\n' ) > - 1 ) {
console . log ( ` 您的QQ_READ_HEADER_VAL选择的是用换行隔开 \n ` )
QQ _READ _HEADER _VAL = process . env . QQ _READ _HEADER _VAL . split ( '\n' ) ;
QQ _READ _BODY _VAL = process . env . QQ _READ _HEADER _VAL . split ( '\n' ) ;
} else {
QQ _READ _HEADER _VAL = [ process . env . QQ _READ _HEADER _VAL ] ;
QQ _READ _BODY _VAL = [ process . env . QQ _READ _HEADER _VAL ] ;
}
// QQ_READ_HEADER_VAL = [...new Set(QQ_READ_HEADER_VAL)]
// $.log(QQ_READ_HEADER_VAL)
@@ -143,11 +126,10 @@ function getNodeCookie() {
}
// QQ_READ_TIME_HEADER_VAL = [...new Set(QQ_READ_TIME_HEADER_VAL)]
}
if ( QQ _READ _HEADER _VAL && QQ _READ _HEADER _VAL . length > 0 ) QQ _READ _COOKIES = [ ] ;
for ( let i = 0 ; i < QQ _READ _HEADER _VAL . length ; i ++ ) {
if ( QQ _READ _BODY _VAL && QQ _READ _BODY _VAL . length > 0 ) QQ _READ _COOKIES = [ ] ;
for ( let i = 0 ; i < QQ _READ _BODY _VAL . length ; i ++ ) {
QQ _READ _COOKIES . push ( {
qqreadurlVal ,
"qqreadheaderVal" : QQ _READ _HEADER _VAL [ i ] || "" ,
" qqreadbodyVal" : QQ _READ _BODY _VAL [ i ] || "" ,
"qqreadtimeurlVal" : QQ _READ _TIME _URL _VAL [ i ] || "" ,
"qqreadtimeheaderVal" : QQ _READ _TIME _HEADER _VAL [ i ] || ""
} )
@@ -174,24 +156,13 @@ if (isGetCookie) {
}
function GetCookie ( ) {
if ( $request && $request . url . indexOf ( "init" ) >= 0 ) {
// const qqreadurlVal = $request.url
// if (qqreadurlVal) $.setdata(qqreadurlVal, qqreadurlKey)
// $.log(`[${jsname}] 获取url请求: 成功,qqreadurlVal: ${qqreadurlVal}`)
// const qqreadbodyVal = $request.body
// if (qqreadbodyVal) $.setdata(qqreadbodyVal, qqreadbodyKey)
// $.log(`[${jsname}] 获取阅读: 成功,qqreadbodyVal: ${qqreadbodyVal}`)
// $.setdata(qqreadurlVal, qqreadurlKey);
const qqreadheaderVal = JSON . stringify ( $request . headers )
if ( qqreadheaderVal ) $ . setdata ( qqreadheaderVal , qqreadheaderKey )
$ . log ( ` [ ${ jsname } ] 获取Cookie: 成功,qqreadheaderVal: ${ qqreadheaderVal } ` )
$ . msg ( qqreadheaderKey , ` 获取cookie: 成功🎉 ` , ` ` )
} else if ( $request && $request . url . indexOf ( "addReadTimeWithBid?" ) >= 0 ) {
if ( $request . body && $request . body . indexOf ( "bookDetail_bottomBar_read_C" ) >= 0 && $request . body . indexOf ( "bookRead_show_I" ) >= 0 && $request . body . indexOf ( "topBar_left_back_C" ) < 0 && $request . body . indexOf ( "bookRead_dropOut_shelfYes_C" ) < 0 ) {
const qqreadbodyVal = $request . body ;
if ( qqreadbodyVal ) $ . setdata ( qqreadbodyVal , qqreadbodyValKey ) ;
$ . log ( ` [ ${ jsname } ] 获取更新body: 成功,qqreadbodyVal: ${ qqreadbodyVal } ` ) ;
$ . msg ( jsname , ` 获取更新body: 成功🎉 ` , ` ` ) ;
}
if ( $request && $request . url . indexOf ( "addReadTimeWithBid?" ) >= 0 ) {
const qqreadtimeurlVal = $request . url
if ( qqreadtimeurlVal ) $ . setdata ( qqreadtimeurlVal , qqreadtimeurlKey )
$ . log ( ` [ ${ jsname } ] 获取阅读时长url: 成功,qqreadtimeurlVal: ${ qqreadtimeurlVal } ` )
@@ -200,7 +171,6 @@ function GetCookie() {
if ( qqreadtimeheaderVal ) $ . setdata ( qqreadtimeheaderVal , qqreadtimeheaderKey )
$ . log ( ` [ ${ jsname } ] 获取时长header: 成功,qqreadtimeheaderVal: ${ qqreadtimeheaderVal } ` )
$ . msg ( qqreadtimeheaderKey , ` 获取阅读时长cookie: 成功🎉 ` , ` ` )
}
$ . done ( ) ;
}
@@ -208,14 +178,15 @@ async function QQ_READ() {
for ( let i = 0 ; i < QQ _READ _COOKIES . length ; i ++ ) {
$ . log ( ` \n *************开始QQ账号 ${ i + 1 } ************** \n ` ) ;
tz = '' ;
if ( ! QQ _READ _COOKIES [ i ] [ "qqreadheader Val" ] || ! QQ _READ _COOKIES [ i ] [ 'qqreadtimeurlVal' ] || ! QQ _READ _COOKIES [ i ] [ 'qqreadtimeheaderVal' ] ) {
if ( ! QQ _READ _COOKIES [ i ] [ "qqreadbody Val" ] || ! QQ _READ _COOKIES [ i ] [ 'qqreadtimeurlVal' ] || ! QQ _READ _COOKIES [ i ] [ 'qqreadtimeheaderVal' ] ) {
$ . log ( ` 账号 ${ i + 1 } 暂未提供脚本执行所需的cookie ` ) ;
continue
}
qqreadheader Val = QQ _READ _COOKIES [ i ] [ 'qqreadheader Val' ] ;
qqreadbody Val = QQ _READ _COOKIES [ i ] [ 'qqreadbody Val' ] ;
qqreadtimeurlVal = QQ _READ _COOKIES [ i ] [ 'qqreadtimeurlVal' ] ;
qqreadtimeheaderVal = QQ _READ _COOKIES [ i ] [ 'qqreadtimeheaderVal' ] ;
await qqreadinfo ( ) ; //用户名
await qqreadtrack ( ) ;
// await $.wait(2000)
await qqreadconfig ( ) ; //时长查询
// await $.wait(2000)
@@ -261,460 +232,389 @@ async function QQ_READ() {
await qqreadwktime ( ) ; //周时长查询
await qqreadpick ( ) ; //领周时长奖励
await showmsg( ) ; //通知
// await showmsg(); //通知
}
}
//任务列表
// 任务列表
function qqreadtask ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadtaskurl = {
url : ' https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=' ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
url : " https://mqqapi.reader.qq.com/mqq/red_packet/user/page?fromGuid=" ,
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreadtaskurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 任务列表: ${ data } ` )
task = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 任务列表: ${ data } ` ) ;
task = JSON . parse ( data ) ;
kz +=
` 【现金余额】: ${ ( task . data . user . amount / 10000 ) . toFixed ( 2 ) } 元 \n ` +
` 【已开宝箱】: ${ task . data . treasureBox . count } 个 \n ` ;
tz +=
' 【现金余额】:' +
( task . data . user . amount / 10000 ) . toFixed ( 2 ) +
'元\n' +
'【第' +
task . data . inv ite. issue +
'期】:时间' +
task . data . inv ite. dayRange +
'\n' +
' 已邀请' +
task . data . invite . inviteCount +
'人,再邀请' +
task . data . invite . nextInviteConfig . count +
'人获得' +
task . data . invite . nextInviteConfig . amount +
'金币\n' +
'【' +
task . data . taskList [ 0 ] . title +
'】:' +
task . data . taskList [ 0 ] . amount +
'金币,' +
task . data . taskList [ 0 ] . actionText +
'\n' +
'【' +
task . data . taskList [ 1 ] . title +
'】:' +
task . data . taskList [ 1 ] . amount +
'金币,' +
task . data . taskList [ 1 ] . actionText +
'\n' +
'【' +
task . data . taskList [ 2 ] . title +
'】:' +
task . data . taskList [ 2 ] . amount +
'金币,' +
task . data . taskList [ 2 ] . actionText +
'\n' +
'【' +
task . data . taskList [ 3 ] . title +
'】:' +
task . data . taskList [ 3 ] . amount +
'金币,' +
task . data . taskList [ 3 ] . actionText +
'\n' +
'【宝箱任务' +
( task . data . treasureBox . count + 1 ) +
'】:' +
task . data . treasureBox . tipText +
'\n' +
'【' + task . data . fans . title +
'】:' +
task . data . fans . fansCount +
'个好友,' +
task . data . fans . todayAmount +
'金币\n'
` 【现金余额】:${ ( task . data . user . amount / 10000 ) . toFixed ( 2 ) } 元 \n ` +
` 【第 ${ task . data . invite . issue } 期】:时间 ${ task . data . invite . dayRange } \n ` +
` 已邀请 ${ task . data . invite . inviteCount } 人,再邀请 ${ task . data . invite . nextInviteConfig . count } 人获得 ${ task . data . invite . nextInviteConfig . amount } 金币 \n ` +
` 【 ${ task . data . taskList [ 0 ] . title } 】: ${ task . data . taskList [ 0 ] . amount } 金币, ${ task . data . taskList [ 0 ] . actionText } \n ` +
` 【 ${ task . data . taskList [ 1 ] . t itl e} 】: ${ task . data . taskList [ 1 ] . amount } 金币, ${ task . data . taskList [ 1 ] . actionText } \n ` +
` 【 ${ task . data . taskList [ 2 ] . title } 】: ${ task . data . taskList [ 2 ] . amount } 金币, ${ task . data . taskList [ 2 ] . actionText } \n ` +
` 【 ${ task . data . taskList [ 3 ] . t itl e} 】: ${ task . data . taskList [ 3 ] . amount } 金币, ${ task . data . taskList [ 3 ] . actionText } \n ` +
` 【宝箱任务 ${ task . data . treasureBox . count + 1 } 】: ${
task . data . treasureBox . tipText
} \n ` +
` 【 ${ task . data . fans . title } 】: ${ task . data . fans . fansCount } 个好友, ${ task . data . fans . todayAmount } 金币 \n ` ;
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//用户名
// 更新
function qqreadtrack ( ) {
return new Promise ( ( resolve , reject ) => {
const body = qqreadbodyVal . replace ( new RegExp ( /"dis":[0-9]{13}/ ) , ` "dis": ${ new Date ( ) . getTime ( ) } ` )
const toqqreadtrackurl = {
url : "https://mqqapi.reader.qq.com/log/v4/mqq/track" ,
headers : JSON . parse ( qqreadtimeheaderVal ) ,
body : body ,
timeout : 60000 ,
} ;
$ . post ( toqqreadtrackurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 更新: ${ data } ` ) ;
let track = JSON . parse ( data ) ;
tz += ` 【数据更新】:更新 ${ track . msg } \n ` ;
resolve ( ) ;
} ) ;
} ) ;
}
// 用户名
function qqreadinfo ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadinfourl = {
url : qqreadurlVal ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
url : "https://mqqapi.reader.qq.com/mqq/user/init" ,
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreadinfourl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 用户名: ${ data } ` )
cons t info = JSON . parse ( data )
t z +=
'【用户信息】:' + info . data . user . nickName + '\n'
if ( logs ) $ . log ( ` ${ jsname } , 用户名: ${ data } ` ) ;
le t info = JSON . parse ( data ) ;
k z += ` \n ========== 【 ${ info . data . user . nickName } 】 ========== \n ` ;
tz += ` \n ========== 【 ${ info . data . user . nickName } 】 ========== \n ` ;
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//阅豆签到
// 阅豆签到
function qqreadtake ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadtakeurl = {
url : ' https://mqqapi.reader.qq.com/mqq/sign_in/user' ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
url : " https://mqqapi.reader.qq.com/mqq/sign_in/user" ,
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
$ . post ( toqqreadtakeurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 阅豆签到: ${ data } ` )
let take = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 阅豆签到: ${ data } ` ) ;
let take = JSON . parse ( data ) ;
if ( take . data . takeTicket > 0 ) {
tz +=
'【阅豆签到】:获得' + take . data . takeTicket + '豆\n'
tz += ` 【阅豆签到】:获得 ${ take . data . takeTicket } 豆 \n ` ;
}
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//阅读时长任务
// 阅读时长任务
function qqreadconfig ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadconfigurl = {
url : 'https://mqqapi.reader.qq.com/mqq/page/config?router=%2Fpages%2Fbook-read%2Findex&options=' ,
headers : JSON . parse ( qqreadheaderVal ) ,
url :
"https://mqqapi.reader.qq.com/mqq/page/config?router=%2Fpages%2Fbook-read%2Findex&options=" ,
headers : JSON . parse ( qqreadtimeheaderVal ) ,
} ;
$ . get ( toqqreadconfigurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 阅读时长查询: ${ data } ` )
config = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 阅读时长查询: ${ data } ` ) ;
config = JSON . parse ( data ) ;
if ( config . code == 0 )
tz += ' 【时长查询】:今日阅读' + ( config . data . pageParams . todayReadSeconds / 60 ) . toFixed ( 0 ) + '分钟\n'
tz += ` 【时长查询】:今日阅读${ (
config . data . pageParams . todayReadSeconds / 60
) . toFixed ( 0 ) } 分钟 \n ` ;
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//阅读时长
// 阅读时长
function qqreadtime ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadtimeurl = {
url : qqreadtimeurlVal . replace ( /readTime=/g , ` readTime= ${ TIME } ` ) ,
headers : JSON . parse ( qqreadtimeheaderVal ) ,
} ;
$ . get ( toqqreadtimeurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , qqreadtime- 阅读时长: ${ data } ` )
let time = JSON . parse ( data )
if ( time && time . code == 0 ) tz += ' 【阅读时长】:上传' + TIME / 6 + '分钟\n'
resolve ( )
} )
} )
if ( logs ) $ . log ( ` ${ jsname } , 阅读时长: ${ data } ` ) ;
let time = JSON . parse ( data ) ;
if ( time . code == 0 ) tz += ` 【阅读时长】:上传${ TIME / 6 } 分钟 \n ` ;
resolve ( ) ;
} ) ;
} ) ;
}
//阅读金币1
// 阅读金币1
function qqreadssr1 ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadssr1url = {
url : ` https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=30 ` ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
if ( config . data . pageParams . todayReadSeconds / 60 >= 1 ) {
if ( config . data && config . data . pageParams . todayReadSeconds / 60 >= 1 ) {
$ . get ( toqqreadssr1url , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 金币奖励1: ${ data } ` )
let ssr1 = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 金币奖励1: ${ data } ` ) ;
let ssr1 = JSON . parse ( data ) ;
if ( ssr1 . data . amount > 0 )
tz += ' 【阅读金币1】获得' + ssr1 . data . amount + '金币\n'
tz += ` 【阅读金币1】获得${ ssr1 . data . amount } 金币 \n ` ;
resolve ( )
} )
resolve ( ) ;
} ) ;
}
resolve ( )
} )
} ) ;
}
//阅读金币2
// 阅读金币2
function qqreadssr2 ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadssr2url = {
url : ` https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=300 ` ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
if ( config . data . pageParams . todayReadSeconds / 60 >= 5 ) {
if ( config . data && config . data . pageParams . todayReadSeconds / 60 >= 5 ) {
$ . get ( toqqreadssr2url , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 金币奖励2: ${ data } ` )
ssr2 = JSON . parse ( data )
if ( ssr2 . code === 0 ) {
if ( ssr2 . data . amount > 0 ) tz += ' 【阅读金币2】获得' + ssr2 . data . amount + '金币\n'
}
resolve ( )
} )
if ( logs ) $ . log ( ` ${ jsname } , 金币奖励2: ${ data } ` ) ;
ssr2 = JSON . parse ( data ) ;
if ( ssr2 . data . amount > 0 )
tz += ` 【阅读金币2】获得${ ssr2 . data . amount } 金币 \n ` ;
resolve ( ) ;
} ) ;
}
resolve ( )
} )
} ) ;
}
//阅读金币3
// 阅读金币3
function qqreadssr3 ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadssr3url = {
url : ` https://mqqapi.reader.qq.com/mqq/red_packet/user/read_time?seconds=1800 ` ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
if ( config . data . pageParams . todayReadSeconds / 60 >= 30 ) {
if ( config . data && config . data . pageParams . todayReadSeconds / 60 >= 30 ) {
$ . get ( toqqreadssr3url , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 金币奖励3: ${ data } ` )
let ssr3 = JSON . parse ( data )
if ( ssr3 . code === 0 ) {
if ( ssr3 . data . amount > 0 ) tz += ' 【阅读金币3】获得' + ssr3 . data . amount + '金币\n'
}
resolve ( )
} )
if ( logs ) $ . log ( ` ${ jsname } , 金币奖励3: ${ data } ` ) ;
let ssr3 = JSON . parse ( data ) ;
if ( ssr3 . data . amount > 0 )
tz += ` 【阅读金币3】获得${ ssr3 . data . amount } 金币 \n ` ;
resolve ( ) ;
} ) ;
}
resolve ( )
} )
} ) ;
}
//金币签到
// 金币签到
function qqreadsign ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadsignurl = {
url : ' https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in/page' ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
url : " https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in/page" ,
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreadsignurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 金币签到: ${ data } ` )
let sign = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 金币签到: ${ data } ` ) ;
sign = JSON . parse ( data ) ;
if ( sign . data . videoDoneFlag ) {
tz +=
'【金币签到】:获得' + sign . data . todayAmount + '金币\n'
tz += ` 【金币签到】:获得 ${ sign . data . todayAmount } 金币 \n ` ;
}
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//金币签到翻倍
// 金币签到翻倍
function qqreadsign2 ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadsign2url = {
url : ' https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in_video' ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
url : " https://mqqapi.reader.qq.com/mqq/red_packet/user/clock_in_video" ,
headers : JSON . parse ( qqreadtimeheaderVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreadsign2url , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 金币签到翻倍: ${ data } ` )
let sign2 = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 金币签到翻倍: ${ data } ` ) ;
let sign2 = JSON . parse ( data ) ;
if ( sign2 . code == 0 ) {
tz +=
'【签到翻倍】:获得' + sign2 . data . amount + '金币\n'
tz += ` 【签到翻倍】:获得 ${ sign2 . data . amount } 金币 \n ` ;
}
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//每日阅读
// 每日阅读
function qqreaddayread ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreaddayreadurl = {
url : ' https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book' ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
url : " https://mqqapi.reader.qq.com/mqq/red_packet/user/read_book" ,
headers : JSON . parse ( qqreadtimeheaderVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreaddayreadurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 每日阅读: ${ data } ` )
let dayread = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 每日阅读: ${ data } ` ) ;
let dayread = JSON . parse ( data ) ;
if ( dayread . code == 0 ) {
tz +=
'【每日阅读】:获得' + dayread . data . amount + '金币\n'
tz += ` 【每日阅读】:获得 ${ dayread . data . amount } 金币 \n ` ;
}
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//视频奖励
// 视频奖励
function qqreadvideo ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadvideourl = {
url : ' https://mqqapi.reader.qq.com/mqq/red_packet/user/watch_video' ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
url : " https://mqqapi.reader.qq.com/mqq/red_packet/user/watch_video" ,
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreadvideourl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 视频奖励: ${ data } ` )
let video = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 视频奖励: ${ data } ` ) ;
let video = JSON . parse ( data ) ;
if ( video . code == 0 ) {
tz +=
'【视频奖励】:获得' + video . data . amount + '金币\n'
tz += ` 【视频奖励】:获得 ${ video . data . amount } 金币 \n ` ;
}
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//宝箱奖励
// 宝箱奖励
function qqreadbox ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadboxurl = {
url : ' https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box' ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
url : " https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box" ,
headers : JSON . parse ( qqreadtimeheaderVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreadboxurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 宝箱奖励: ${ data } ` )
cons t box = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 宝箱奖励: ${ data } ` ) ;
le t box = JSON . parse ( data ) ;
if ( box . data . count >= 0 ) {
tz +=
'【宝箱奖励' + box . data . count + '】:获得' + box . data . amount + '金币\n'
tz += ` 【宝箱奖励 ${ box . data . count } 】:获得 ${ box . data . amount } 金币 \n ` ;
}
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//宝箱奖励翻倍
// 宝箱奖励翻倍
function qqreadbox2 ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadbox2url = {
url : 'https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video' ,
url :
"https://mqqapi.reader.qq.com/mqq/red_packet/user/treasure_box_video" ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreadbox2url , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 宝箱奖励翻倍: ${ data } ` )
let box2 = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 宝箱奖励翻倍: ${ data } ` ) ;
let box2 = JSON . parse ( data ) ;
if ( box2 . code == 0 ) {
tz +=
'【宝箱翻倍】:获得' + box2 . data . amount + '金币\n'
tz += ` 【宝箱翻倍】:获得 ${ box2 . data . amount } 金币 \n ` ;
}
resolve ( )
} )
} )
resolve ( ) ;
} ) ;
} ) ;
}
//本周阅读时长
// 本周阅读时长
function qqreadwktime ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadwktimeurl = {
url : ` https://mqqapi.reader.qq.com/mqq/v1/bookShelfInit ` ,
headers : JSON . parse ( qqreadheaderVal ) ,
headers : JSON . parse ( qqreadtimeheaderVal ) ,
} ;
$ . get ( toqqreadwktimeurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , qqreadwktime 阅读时长: ${ data } ` )
wktime = JSON . parse ( data )
if ( wktime . code == 0 ) tz += '【本周阅读时长】:' + wktime . data . readTime + '分钟\n'
resolve ( )
} )
} )
if ( logs ) $ . log ( ` ${ jsname } , 阅读时长: ${ data } ` ) ;
wktime = JSON . parse ( data ) ;
if ( wktime . code == 0 )
tz += ` 【本周阅读时长】: ${ wktime . data . readTime } 分钟 \n ` ;
resolve ( ) ;
} ) ;
} ) ;
}
//本周阅读时长奖励任务
// 本周阅读时长奖励任务
function qqreadpick ( ) {
return new Promise ( ( resolve , reject ) => {
const toqqreadpickurl = {
url : ` https://mqqapi.reader.qq.com/mqq/pickPackageInit ` ,
headers : JSON . parse ( qqreadheaderVal ) ,
headers : JSON . parse ( qqreadtime headerVal ) ,
} ;
if ( wktime . data . readTime >= wktimess ) {
if ( wktime . data . readTime >= wktimess && wktime . data . readTime <= 1250 ) {
$ . get ( toqqreadpickurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } ,周阅读时长奖励任务: ${ data } ` )
let pick = JSON . parse ( data )
if ( pick . data [ 7 ] . isPick == true )
tz += '【周时长奖励】:已全部领取\n'
if ( logs ) $ . log ( ` ${ jsname } ,周阅读时长奖励任务: ${ data } ` ) ;
let pick = JSON . parse ( data ) ;
if ( pick . data [ 7 ] . isPick == true ) tz += "【周时长奖励】:已全部领取\n" ;
for ( let i = 0 ; i < pick . data . length ; i ++ ) {
setTimeout ( ( ) => {
var pickid = pick . data [ i ] . readTime
var Packageid = [ '10' , '10' , '20' , '30' , '50' , '80' , '100' , '120' ]
const pickid = pick . data [ i ] . readTime ;
const Packageid = [
"10" ,
"10" ,
"20" ,
"30" ,
"50" ,
"80" ,
"100" ,
"120" ,
] ;
const toqqreadPackageurl = {
url : ` https://mqqapi.reader.qq.com/mqq/pickPackage?readTime= ${ pickid } ` ,
headers : JSON . parse ( qqreadheaderVal ) ,
timeout : 60000
headers : JSON . parse ( qqreadtime headerVal ) ,
timeout : 60000 ,
} ;
$ . get ( toqqreadPackageurl , ( error , response , data ) => {
if ( logs ) $ . log ( ` ${ jsname } , 领周阅读时长: ${ data } ` )
let Package = JSON . parse ( data )
if ( logs ) $ . log ( ` ${ jsname } , 领周阅读时长: ${ data } ` ) ;
Package = JSON . parse ( data ) ;
if ( Package . code == 0 )
tz += ' 【周时长奖励' + ( i + 1 ) + '】:领取' + Packageid [ i ] + '阅豆\n'
} )
} , i * 100 )
tz += ` 【周时长奖励${ i + 1 } 】:领取 ${ Packageid [ i ] } 阅豆 \n ` ;
} ) ;
} , i * 100 ) ;
}
} )
resolve ( )
} ) ;
resolve ( ) ;
}
resolve ( )
} )
}
function showmsg ( ) {
return new Promise ( async resolve => {
console . log ( tz )
if ( notifyInterval == 1 )
$ . msg ( jsname , '' , tz ) //显示所有通知
else if ( notifyInterval == 2 && task . data . treasureBox . doneFlag == 0 )
$ . msg ( jsname , '' , tz ) //宝箱领取成功通知
else if ( notifyInterval == 3 && task . data . treasureBox . count == 0 || task . data . treasureBox . count == 15 || task . data . treasureBox . count == 30 || task . data . treasureBox . count == 45 || task . data . treasureBox . count == 60 )
$ . msg ( jsname , '' , tz ) //宝箱每15次通知一次
resolve ( )
} )
} ) ;
}