shawenguan há 1 ano atrás
pai
commit
148cbce186
1 ficheiros alterados com 193 adições e 190 exclusões
  1. 193 190
      Scripts/bilibili/bilibiliHelper.js

+ 193 - 190
Scripts/bilibili/bilibiliHelper.js

@@ -203,58 +203,58 @@ async function signBiliBili() {
                         break;
                     } else {
                         await coin();
-                        await magicJS.utils.sleep(300) //减少频繁请求概率
+                        await magicJS.utils.sleep(300); //减少频繁请求概率
                     }
                 }
             }
-            magicJS.logger.info("---- 将尝试额外任务")
+            magicJS.logger.info("---- 将尝试额外任务");
         } else {
-            magicJS.logger.info("---- 经验值任务均已完成,将尝试额外任务")
+            magicJS.logger.info("---- 经验值任务均已完成,将尝试额外任务");
         }
         
-        await liveSign()
-        await silver2coin()
-        await vipScoreSign()
+        await liveSign();
+        await silver2coin();
+        await vipScoreSign();
         if (config.user.vipStatus === 1) {
-            await vipExtraEx()
-            await vipScoreGo()
-            await vipScoreFan()
-            await vipScoreMovie()
-            await vipScoreDress()
-            await vipWatchAccept()
+            await vipExtraEx();
+            await vipScoreGo();
+            await vipScoreFan();
+            await vipScoreMovie();
+            await vipScoreDress();
+            await vipWatchAccept();
             //B币券每月尝试两次领取
             let day = magicJS.utils.formatTime(new Date(), 'dd');
             if (day === '1' || day === '15') {
                 if (config.user.vipType === 2) {
-                    await vipPrivilege(1)
-                    await magicJS.utils.sleep(800) //延迟执行,防止领劵延迟
-                    let charge_mid = config.Settings?.charge_mid || config.user.mid  //用户设置充电id
-                    let bp_num = config.Settings?.bp_num || 5  //用户设置充电数量
-                    await Charge(charge_mid, bp_num)//充电
-                    for (let i = 2; i <= 7; i++) await vipPrivilege(i)
+                    await vipPrivilege(1);
+                    await magicJS.utils.sleep(800); //延迟执行,防止领劵延迟
+                    let charge_mid = config.Settings?.charge_mid || config.user.mid;  //用户设置充电id
+                    let bp_num = config.Settings?.bp_num || 5;  //用户设置充电数量
+                    await Charge(charge_mid, bp_num);//充电
+                    for (let i = 2; i <= 7; i++) await vipPrivilege(i);
                 } else if (config.user.vipType === 1) {
-                    await vipPrivilege(6)
-                    await vipPrivilege(7)
+                    await vipPrivilege(6);
+                    await vipPrivilege(7);
                 }
             } 
         }
-        flag = !isFlag(exec_times)
-        let title = `登录${config.user.num}/观看${config.watch.num}/分享${config.share.num}/投币${config.coins.num / 10}${flag ? "已完成" : "未完成"}`
-        magicJS.logger.info(`#### ${title}`)
-        magicJS.logger.info(`- 登录时间: ${config.user.time || "暂无"}`)
-        magicJS.logger.info(`- 观看时间: ${config.watch.time || "暂无"}`)
-        magicJS.logger.info(`- 分享时间: ${config.share.time || "暂无"}`)
-        magicJS.logger.info(`- 投币时间: ${config.coins.time || "暂无"}`)
+        flag = !isFlag(exec_times);
+        let title = `登录${config.user.num}/观看${config.watch.num}/分享${config.share.num}/投币${config.coins.num / 10}${flag ? "已完成" : "未完成"}`;
+        magicJS.logger.info(`#### ${title}`);
+        magicJS.logger.info(`- 登录时间: ${config.user.time || "暂无"}`);
+        magicJS.logger.info(`- 观看时间: ${config.watch.time || "暂无"}`);
+        magicJS.logger.info(`- 分享时间: ${config.share.time || "暂无"}`);
+        magicJS.logger.info(`- 投币时间: ${config.coins.time || "暂无"}`);
 
-        notice = {
+        let notice = {
             title: `[${config.user.uname}]`,
             subTitle: `${flag ? "✅任务完成" : "❗️有未完成的任务"}`,
             content:
                 `任务:登录(观看)${check("watch") ? "" : "+10exp"} 分享${check("share") ? "" : "+5exp"} 投币${check("coins") ? "" : "+50exp"}\n` +
                 `经验:当前${config.user.level_info.current_exp}/下级${config.user.level_info.next_exp}/满级28800\n` +
                 `等级:当前${config.user.level_info.current_level}级 升满级最快需${Math.ceil((config.user.v6_exp)/65)}天`,
-        }
-        magicJS.notification.post(notice.title, notice.subTitle, notice.content)
+        };
+        magicJS.notification.post(notice.title, notice.subTitle, notice.content);
     } else {
         magicJS.notification.post(`任务失败`,`📅 ${startTime}`, "🤒请更新cookie")
     }
@@ -636,137 +636,140 @@ async function signBiliBili() {
 //     });
 // }
 
-// async function silver2coin() {
-//     return new Promise((resolve, reject) => {
-//         magicJS.logger.info("#### 银瓜子兑换硬币任务");
-//         const body = {
-//             csrf: config.cookie.bili_jct,
-//             csrf_token: config.cookie.bili_jct
-//         };
-//         const myRequest = {
-//             url: "https://api.live.bilibili.com/xlive/revenue/v1/wallet/silver2coin",
-//             headers: {
-//                 'cookie': config.cookieStr
-//             },
-//             body: magicJS.objToQueryStr(body)
-//         };
-//         magicJS.http.get(myRequest).then(response => {
-//             try {
-//                 let result = response.body;
-//                 let title = `银瓜子转硬币`;
-//                 // 兑换成功
-//                 if (result && result.code === 0) {
-//                     let subTitle = `- ${result.message}`;
-//                     let detail = `- 成功兑换: ${result.data.coin} 个硬币\n当前银瓜子: ${result.data.silver} , 当前金瓜子: ${result.data.gold}`;
-//                     magicJS.logger.info(subTitle);
-//                     magicJS.logger.info(detail);
-//                     magicJS.notification.post(title, subTitle, detail);
-//                 }
-//                 // 兑换中止(重复兑换&银瓜子不足)
-//                 else if (result && result.code === 403) {
-//                     let subTitle = "- 未成功兑换";
-//                     let detail = `- 原因: ${result.message}`;
-//                     magicJS.logger.info(subTitle);
-//                     magicJS.logger.info(detail);
-//                     magicJS.notification.post(title, subTitle, detail);
-//                 }
-//                 // 兑换失败
-//                 else {
-//                     let subTitle = "- 兑换失败";
-//                     let detail = `- 原因: ${result.message}`;
-//                     magicJS.logger.info(subTitle);
-//                     magicJS.logger.info(detail);
-//                     magicJS.notification.post(title, subTitle, detail);
-//                 }
-//             } catch (e) {
-//                 magicJS.logger.error(e);
-//             }
-//             resolve();
-//         }).catch(err => {
-//             const msg = `兑换异常\n${JSON.stringify(err)}`;
-//             magicJS.logger.error(msg);
-//             reject(msg);
-//         });
-//     });
-// }
+async function silver2coin() {
+    return new Promise((resolve, reject) => {
+        magicJS.logger.info("#### 银瓜子兑换硬币任务");
+        const body = {
+            csrf: config.cookie.bili_jct,
+            csrf_token: config.cookie.bili_jct
+        };
+        const myRequest = {
+            url: "https://api.live.bilibili.com/xlive/revenue/v1/wallet/silver2coin",
+            headers: {
+                'cookie': config.cookieStr
+            },
+            body: magicJS.objToQueryStr(body)
+        };
+        magicJS.http.get(myRequest).then(response => {
+            try {
+                let result = response.body;
+                let title = `银瓜子转硬币`;
+                // 兑换成功
+                if (result && result.code === 0) {
+                    let subTitle = `- ${result.message}`;
+                    let detail = `- 成功兑换: ${result.data.coin} 个硬币\n当前银瓜子: ${result.data.silver} , 当前金瓜子: ${result.data.gold}`;
+                    magicJS.logger.info(subTitle);
+                    magicJS.logger.info(detail);
+                    magicJS.notification.post(title, subTitle, detail);
+                }
+                // 兑换中止(重复兑换&银瓜子不足)
+                else if (result && result.code === 403) {
+                    let subTitle = "- 未成功兑换";
+                    let detail = `- 原因: ${result.message}`;
+                    magicJS.logger.info(subTitle);
+                    magicJS.logger.info(detail);
+                    magicJS.notification.post(title, subTitle, detail);
+                }
+                // 兑换失败
+                else {
+                    let subTitle = "- 兑换失败";
+                    let detail = `- 原因: ${result.message}`;
+                    magicJS.logger.info(subTitle);
+                    magicJS.logger.info(detail);
+                    magicJS.notification.post(title, subTitle, detail);
+                }
+            } catch (e) {
+                magicJS.logger.error(e);
+            } finally {
+                resolve();
+            }
+        }).catch(err => {
+            const msg = `兑换异常\n${JSON.stringify(err)}`;
+            magicJS.logger.error(msg);
+            reject(msg);
+        });
+    });
+}
 
-// async function liveSign() {
-//     return new Promise((resolve, reject) => {
-//         magicJS.logger.info("#### 直播签到任务");
-//         const myRequest = {
-//             url: "https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign",
-//             headers: {
-//                 'cookie': config.cookieStr
-//             }
-//         };
-//         magicJS.http.get(myRequest).then(response => {
-//             try {
-//                 let body = response.body;
-//                 if (body?.code === 0) {
-//                     magicJS.logger.info("- 签到成功");
-//                     magicJS.logger.info(`签到奖励:${body.data.text},连续签到${body.data.hadSignDays}天`);
-//                 } else if (body && body.code === 1011040){
-//                     magicJS.logger.info("- 今日已完成");
-//                 } else {
-//                     magicJS.logger.info("- 签到失败");
-//                     magicJS.logger.info("- 失败原因 " + body?.message);
-//                 }
-//             } catch (e) {
-//                 magicJS.logger.error(e);
-//             }
-//             resolve();
-//         }).catch(err => {
-//             const msg = `签到异常\n${JSON.stringify(err)}`;
-//             magicJS.logger.error(msg);
-//             reject(msg);
-//         });
-//     });
-// }
+async function liveSign() {
+    return new Promise((resolve, reject) => {
+        magicJS.logger.info("#### 直播签到任务");
+        const myRequest = {
+            url: "https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign",
+            headers: {
+                'cookie': config.cookieStr
+            }
+        };
+        magicJS.http.get(myRequest).then(response => {
+            try {
+                let body = response.body;
+                if (body?.code === 0) {
+                    magicJS.logger.info("- 签到成功");
+                    magicJS.logger.info(`签到奖励:${body.data.text},连续签到${body.data.hadSignDays}天`);
+                } else if (body && body.code === 1011040){
+                    magicJS.logger.info("- 今日已完成");
+                } else {
+                    magicJS.logger.info("- 签到失败");
+                    magicJS.logger.info("- 失败原因 " + body?.message);
+                }
+            } catch (e) {
+                magicJS.logger.error(e);
+            } finally {
+                resolve();
+            }
+        }).catch(err => {
+            const msg = `签到异常\n${JSON.stringify(err)}`;
+            magicJS.logger.error(msg);
+            reject(msg);
+        });
+    });
+}
 
-// async function vipScoreSign() {
-//     return new Promise((resolve, reject) => {
-//         magicJS.logger.info("#### 大会员大积分签到任务");
-//         if (config.user.vipStatus === 0) {
-//             magicJS.logger.info("- 当前用户非大会员, 无法完成任务");
-//             resolve();
-//         } else {
-//             if (check("score")) {
-//                 const myRequest = {
-//                     url: "https://api.bilibili.com/pgc/activity/score/task/sign",
-//                     method: "POST",
-//                     headers: {
-//                         'Referer': 'https://big.bilibili.com/mobile/bigPoint/task',
-//                         'cookie': config.cookieStr
-//                     }
-//                 };
-//                 magicJS.http.get(myRequest).then(response => {
-//                     try {
-//                         const body = response.body;
-//                         if (body?.code === 0 && body?.message === "success") {
-//                             magicJS.logger.info("- 签到成功")
-//                             config.score.time = startTime
-//                             config.score.num = 1
-//                             magicJS.data.write("bilibili_daily_bonus", magicJS.toStr(config))
-//                         } else {
-//                             magicJS.logger.info("- 签到失败")
-//                             magicJS.logger.info("- 失败原因 " + body?.message)
-//                         }
-//                     } catch (e) {
-//                         magicJS.logger.error(e);
-//                     }
-//                     resolve();
-//                 }).catch(err => {
-//                     const msg = `签到异常\n${JSON.stringify(err)}`;
-//                     magicJS.logger.error(msg);
-//                     reject();
-//                 });
-//             } else {
-//                 magicJS.logger.info("- 今日已完成");
-//                 resolve();
-//             }
-//         }
-//     });
-// }
+async function vipScoreSign() {
+    return new Promise((resolve, reject) => {
+        magicJS.logger.info("#### 大会员大积分签到任务");
+        if (config.user.vipStatus === 0) {
+            magicJS.logger.info("- 当前用户非大会员, 无法完成任务");
+            resolve();
+        } else {
+            if (check("score")) {
+                const myRequest = {
+                    url: "https://api.bilibili.com/pgc/activity/score/task/sign",
+                    method: "POST",
+                    headers: {
+                        'Referer': 'https://big.bilibili.com/mobile/bigPoint/task',
+                        'cookie': config.cookieStr
+                    }
+                };
+                magicJS.http.get(myRequest).then(response => {
+                    try {
+                        const body = response.body;
+                        if (body?.code === 0 && body?.message === "success") {
+                            magicJS.logger.info("- 签到成功")
+                            config.score.time = startTime
+                            config.score.num = 1
+                            magicJS.data.write("bilibili_daily_bonus", magicJS.toStr(config))
+                        } else {
+                            magicJS.logger.info("- 签到失败")
+                            magicJS.logger.info("- 失败原因 " + body?.message)
+                        }
+                    } catch (e) {
+                        magicJS.logger.error(e);
+                    } finally {
+                        resolve();
+                    }
+                }).catch(err => {
+                    const msg = `签到异常\n${JSON.stringify(err)}`;
+                    magicJS.logger.error(msg);
+                    reject();
+                });
+            } else {
+                magicJS.logger.info("- 今日已完成");
+                resolve();
+            }
+        }
+    });
+}
 
 // async function vipExtraEx() {
 //     return new Promise((resolve, reject) => {
@@ -1243,37 +1246,37 @@ async function queryStatus() {
     });
 }
 
-// async function dynamic() {
-//     return new Promise((resolve, reject) => {
-//         magicJS.logger.info("#### 获取首页视频");
-//         const myRequest = {
-//             url: `https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${config.cookie.DedeUserID}&type_list=8&from=&platform=web`,
-//             headers: {
-//                 "cookie": config.cookieStr
-//             }
-//         };
-//         magicJS.http.get(myRequest).then(response => {
-//             try {
-//                 const body = response.body;
-//                 if (body?.data?.cards) {
-//                     cards = body.data.cards;
-//                     const { user, watch, share } = config;
-//                     user.time = watch.time = share.time = startTime;
-//                     magicJS.logger.info("- 获取视频动态成功");
-//                 } else {
-//                     magicJS.logger.info("- 获取视频动态失败");
-//                 }
-//             } catch (e) {
-//                 magicJS.logger.error(JSON.stringify(e));
-//             }
-//             resolve();
-//         }).catch(err => {
-//             const msg = `获取首页视频异常\n${JSON.stringify(err)}`;
-//             magicJS.logger.error(msg);
-//             reject();
-//         });
-//     });
-// }
+async function dynamic() {
+    return new Promise((resolve, reject) => {
+        magicJS.logger.info("#### 获取首页视频");
+        const myRequest = {
+            url: `https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/dynamic_new?uid=${config.cookie.DedeUserID}&type_list=8&from=&platform=web`,
+            headers: {
+                "cookie": config.cookieStr
+            }
+        };
+        magicJS.http.get(myRequest).then(response => {
+            try {
+                const body = response.body;
+                if (body?.data?.cards) {
+                    cards = body.data.cards;
+                    const { user, watch, share } = config;
+                    user.time = watch.time = share.time = startTime;
+                    magicJS.logger.info("- 获取视频动态成功");
+                } else {
+                    magicJS.logger.info("- 获取视频动态失败");
+                }
+            } catch (e) {
+                magicJS.logger.error(JSON.stringify(e));
+            }
+            resolve();
+        }).catch(err => {
+            const msg = `获取首页视频异常\n${JSON.stringify(err)}`;
+            magicJS.logger.error(msg);
+            reject();
+        });
+    });
+}
 
 // Wbi签名获取
 function getWbiSigns(requestParams) {