MCPcopy Create free account
hub / github.com/Semporia/Scripts / answerTask

Function answerTask

jd_jxnc.js:410–459  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

408}
409
410function answerTask() {
411 const _answerTask = $.allTask.filter(x => x.tasklevel === 6);
412 if (!_answerTask || !_answerTask[0]) return;
413 const {tasklevel, left, taskname, eachtimeget} = _answerTask[0];
414 $.log(`准备做答题任务:${taskname}`);
415 return new Promise(async resolve => {
416 if (parseInt(left) <= 0) {
417 resolve(false);
418 $.log(`${taskname}[做任务]: 任务已完成,跳过`);
419 return;
420 }
421 $.get(
422 taskUrl(
423 'dotask',
424 `active=${$.info.active}&answer=${$.info.indexday}:${['A', 'B', 'C', 'D'][$.answer]}:0&joinnum=${
425 $.info.joinnum
426 }&tasklevel=${tasklevel}&_stk=${encodeURIComponent("active,answer,ch,farm_jstoken,joinnum,phoneid,tasklevel,timestamp")}`,
427 ),
428 async (err, resp, data) => {
429 try {
430 let res = data.match(/try\{whyour\(([\s\S]*)\)\;\}catch\(e\)\{\}/);
431 if (res) {
432 res = res[1]
433 let {ret, retmsg, right} = JSON.parse(res);
434 retmsg = retmsg !== '' ? retmsg : '成功';
435 $.log(`${taskname}[做任务]:ret:${ret} retmsg:"${retmsg.indexOf('活动太火爆了') !== -1 ? '任务进行中或者未到任务时间' : retmsg}"`);
436 if (ret === 0 && right === 1) {
437 $.drip += eachtimeget;
438 }
439 // ret:1017 retmsg:"score full" 水滴已满,果实成熟,跳过答题
440 // ret:1012 retmsg:"has complte" 已完成,跳过答题
441 if (ret === 1017 || ret === 1012) {
442 resolve();
443 return;
444 }
445 if (((ret !== 0 && ret !== 1029) || retmsg === 'ans err') && $.answer > 0) {
446 $.answer--;
447 await $.wait(1000);
448 await answerTask();
449 }
450 }
451 } catch (e) {
452 $.logErr(e, resp);
453 } finally {
454 resolve();
455 }
456 },
457 );
458 });
459}
460
461function getMessage(endInfo, startInfo) {
462 const need = endInfo.target - endInfo.score;

Callers 1

jdJXNCFunction · 0.85

Calls 5

taskUrlFunction · 0.70
logMethod · 0.45
getMethod · 0.45
waitMethod · 0.45
logErrMethod · 0.45

Tested by

no test coverage detected