循环助力/兑换京豆
默认不开启循环助力,可通过环境变量JDJOY_HELPSELF设置 默认不开启京豆兑换,可通过环境变量JDJOY_APPLYJDBEAN设置,目前最小为500/1000京豆
This commit is contained in:
@@ -29,6 +29,8 @@ const JD_API_HOST = 'https://api.m.jd.com/';
|
||||
|
||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||
let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送
|
||||
let helpSelf = false // 循环助力
|
||||
let applyJdBean = 0
|
||||
let cookiesArr = [], cookie = '', message = '';
|
||||
const inviteCodes = [
|
||||
'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE',
|
||||
@@ -171,6 +173,8 @@ if ($.isNode()) {
|
||||
return;
|
||||
}
|
||||
await requireConfig();
|
||||
$.nextCode = "EdLPh8A6X5G1iWXu-uPYfA=="
|
||||
$.selfCodes = []
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
if (cookiesArr[i]) {
|
||||
cookie = cookiesArr[i];
|
||||
@@ -190,10 +194,35 @@ if ($.isNode()) {
|
||||
}
|
||||
continue
|
||||
}
|
||||
await shareCodesFormat()
|
||||
await jdCrazyJoy()
|
||||
}
|
||||
}
|
||||
if (helpSelf) {
|
||||
console.log(`开始循环助力`)
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
if (cookiesArr[i]) {
|
||||
cookie = cookiesArr[i];
|
||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1])
|
||||
$.index = i + 1;
|
||||
$.isLogin = true;
|
||||
$.nickName = '';
|
||||
await TotalBean();
|
||||
console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`);
|
||||
if (!$.isLogin) {
|
||||
$.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"});
|
||||
|
||||
if ($.isNode()) {
|
||||
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
|
||||
} else {
|
||||
$.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。
|
||||
}
|
||||
continue
|
||||
}
|
||||
await shareCodesFormat()
|
||||
await helpFriends()
|
||||
}
|
||||
}
|
||||
}
|
||||
})()
|
||||
.catch((e) => {
|
||||
$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')
|
||||
@@ -205,9 +234,9 @@ if ($.isNode()) {
|
||||
async function jdCrazyJoy() {
|
||||
$.coin = 0
|
||||
$.bean = 0
|
||||
await getUserInfo()
|
||||
await getUserInfo($.nextCode)
|
||||
await doSign()
|
||||
await helpFriends()
|
||||
// await helpFriends()
|
||||
await getTaskInfo()
|
||||
for (let j = 0; j < $.taskList.length; ++j) {
|
||||
let task = $.taskList[j]
|
||||
@@ -221,8 +250,38 @@ async function jdCrazyJoy() {
|
||||
await getCoin()
|
||||
await getUserBean()
|
||||
console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`)
|
||||
if ( applyJdBean!==0 && applyJdBean<=$.bean){
|
||||
await $.wait(1000)
|
||||
console.log(`检测您打开了自动兑换开关,去兑换京豆`)
|
||||
await doApplyJdBean(applyJdBean)
|
||||
}
|
||||
}
|
||||
function doApplyJdBean(bean = 1000) {
|
||||
// 兑换京豆
|
||||
let body = {"paramData":{"bean":bean}}
|
||||
return new Promise(async resolve => {
|
||||
$.get(taskUrl('crazyJoy_user_applyJdBeanPaid', JSON.stringify(body)), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (safeGet(data)) {
|
||||
data = JSON.parse(data);
|
||||
if (data.success)
|
||||
console.log(`兑换${bean}京豆成功`)
|
||||
else
|
||||
console.log(`兑换${bean}京豆失败,错误信息:${data.resultTips||data.message}`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") {
|
||||
let body = {"paramData": {"inviter": code}}
|
||||
return new Promise(async resolve => {
|
||||
@@ -234,8 +293,11 @@ function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") {
|
||||
} else {
|
||||
if (safeGet(data)) {
|
||||
data = JSON.parse(data);
|
||||
if (data.success && data.data && data.data.userInviteCode)
|
||||
if (data.success && data.data && data.data.userInviteCode) {
|
||||
console.log(`您的助力码为: ${data.data.userInviteCode}`)
|
||||
$.selfCodes.push(data.data.userInviteCode)
|
||||
$.nextCode = data.data.userInviteCode
|
||||
}
|
||||
else
|
||||
console.log(`用户信息获取失败`)
|
||||
}
|
||||
@@ -250,7 +312,8 @@ function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") {
|
||||
}
|
||||
|
||||
async function helpFriends() {
|
||||
for (let code of $.newShareCodes) {
|
||||
let codes = $.newShareCodes.concat($.selfCodes)
|
||||
for (let code of codes) {
|
||||
if (!code) continue
|
||||
await helpFriend(code)
|
||||
await $.wait(500)
|
||||
@@ -517,11 +580,24 @@ function requireConfig() {
|
||||
if ($.isNode()) {
|
||||
if (process.env.JDJOY_SHARECODES) {
|
||||
if (process.env.JDJOY_SHARECODES.indexOf('\n') > -1) {
|
||||
console.log(`您的互助码选择的是用\n隔开\n`)
|
||||
shareCodes = process.env.JDJOY_SHARECODES.split('\n');
|
||||
} else {
|
||||
} else if (process.env.JDJOY_SHARECODES.indexOf('&') > -1) {
|
||||
console.log(`您的互助码选择的是用&隔开\n`)
|
||||
shareCodes = process.env.JDJOY_SHARECODES.split('&');
|
||||
} else if (process.env.JDJOY_SHARECODES.indexOf('@') > -1) {
|
||||
console.log(`您的互助码选择的是用@隔开\n`)
|
||||
shareCodes = process.env.JDJOY_SHARECODES.split('@');
|
||||
} else {
|
||||
shareCodes = process.env.JDJOY_SHARECODES.split();
|
||||
}
|
||||
}
|
||||
if (process.env.JDJOY_HELPSELF) {
|
||||
helpSelf = process.env.JDJOY_HELPSELF
|
||||
}
|
||||
if (process.env.JDJOY_APPLYJDBEAN) {
|
||||
applyJdBean = process.env.JDJOY_APPLYJDBEAN
|
||||
}
|
||||
}
|
||||
console.log(`共${cookiesArr.length}个京东账号\n`);
|
||||
$.shareCodesArr = [];
|
||||
|
Reference in New Issue
Block a user