|
|
@@ -431,210 +431,211 @@ async function signBiliBili() {
|
|
|
// });
|
|
|
// }
|
|
|
|
|
|
-// async function share(aid, cid, short_link) {
|
|
|
-// return new Promise((resolve, reject) => {
|
|
|
-// magicJS.logger.info("2️⃣ 分享任务");
|
|
|
-// if (check("share")) {
|
|
|
-// magicJS.logger.info("- 正在分享, aid=" + aid);
|
|
|
-// const body = {
|
|
|
-// access_key: config.key.replace(/&actionKey=.*?&appkey=.*$/, ''),
|
|
|
-// actionKey: 'appkey',
|
|
|
-// appkey: '27eb53fc9058f8c3',
|
|
|
-// build: '72700100',
|
|
|
-// c_locale: 'zh-Hans_CN',
|
|
|
-// device: 'phone',
|
|
|
-// disable_rcmd: 0,
|
|
|
-// link: short_link,
|
|
|
-// mobi_app: 'iphone',
|
|
|
-// object_extra_fields: '%7B%7D',
|
|
|
-// oid: aid,
|
|
|
-// panel_type: 1,
|
|
|
-// platform: 'ios',
|
|
|
-// s_locale:'zh-Hans_CN',
|
|
|
-// share_channel: 'WEIXIN',
|
|
|
-// share_id: 'main.ugc-video-detail.0.0.pv',
|
|
|
-// share_origin: 'vinfo_share',
|
|
|
-// sid: cid,
|
|
|
-// spm_id: 'main.ugc-video-detail.0.0',
|
|
|
-// statistics: '%7B%22appId%22%3A1%2C%22version%22%3A%227.27.0%22%2C%22abtest%22%3A%22%22%2C%22platform%22%3A1%7D',
|
|
|
-// success: 1,
|
|
|
-// ts: getTimestamp()
|
|
|
-// }
|
|
|
-// const sign = md5(magicJS.objToQueryStr(body) + 'c2ed53a74eeefe3cf99fbd01d8c9c375');
|
|
|
-// body['sign'] = sign;
|
|
|
-// const myRequest = {
|
|
|
-// url: 'https://api.bilibili.com/x/share/finish',
|
|
|
-// headers: {},
|
|
|
-// body: magicJS.objToQueryStr(Object.fromEntries(new Map(Array.from(Object.entries(body)).sort())))
|
|
|
-// };
|
|
|
-// magicJS.http.post(myRequest).then(response => {
|
|
|
-// const body = response.body;
|
|
|
-// if (body?.code === 0) {
|
|
|
-// config.share.num = (config.share.num || 0) + 1;
|
|
|
-// magicJS.logger.info("- 分享成功");
|
|
|
-// magicJS.data.write("bilibili_daily_bonus", magicJS.toStr(config));
|
|
|
-// } else {
|
|
|
-// magicJS.logger.info("- 分享失败, 失败原因: " + body?.message);
|
|
|
-// }
|
|
|
-// resolve(body);
|
|
|
-// }).catch(err => {
|
|
|
-// const msg = `分享异常\n${JSON.stringify(err)}`;
|
|
|
-// magicJS.logger.error(msg);
|
|
|
-// reject();
|
|
|
-// });
|
|
|
-// } else {
|
|
|
-// magicJS.logger.info(`- 今日已经分享 ${config.share.time}`);
|
|
|
-// resolve();
|
|
|
-// }
|
|
|
-// });
|
|
|
-// }
|
|
|
+async function share(aid, cid, short_link) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ magicJS.logger.info("2️⃣ 分享任务");
|
|
|
+ if (check("share")) {
|
|
|
+ magicJS.logger.info("- 正在分享, aid=" + aid);
|
|
|
+ const body = {
|
|
|
+ access_key: config.key.replace(/&actionKey=.*?&appkey=.*$/, ''),
|
|
|
+ actionKey: 'appkey',
|
|
|
+ appkey: '27eb53fc9058f8c3',
|
|
|
+ build: '72700100',
|
|
|
+ c_locale: 'zh-Hans_CN',
|
|
|
+ device: 'phone',
|
|
|
+ disable_rcmd: 0,
|
|
|
+ link: short_link,
|
|
|
+ mobi_app: 'iphone',
|
|
|
+ object_extra_fields: '%7B%7D',
|
|
|
+ oid: aid,
|
|
|
+ panel_type: 1,
|
|
|
+ platform: 'ios',
|
|
|
+ s_locale:'zh-Hans_CN',
|
|
|
+ share_channel: 'WEIXIN',
|
|
|
+ share_id: 'main.ugc-video-detail.0.0.pv',
|
|
|
+ share_origin: 'vinfo_share',
|
|
|
+ sid: cid,
|
|
|
+ spm_id: 'main.ugc-video-detail.0.0',
|
|
|
+ statistics: '%7B%22appId%22%3A1%2C%22version%22%3A%227.27.0%22%2C%22abtest%22%3A%22%22%2C%22platform%22%3A1%7D',
|
|
|
+ success: 1,
|
|
|
+ ts: getTimestamp()
|
|
|
+ }
|
|
|
+ const sign = md5(magicJS.objToQueryStr(body) + 'c2ed53a74eeefe3cf99fbd01d8c9c375');
|
|
|
+ body['sign'] = sign;
|
|
|
+ const myRequest = {
|
|
|
+ url: 'https://api.bilibili.com/x/share/finish',
|
|
|
+ headers: {},
|
|
|
+ body: magicJS.objToQueryStr(Object.fromEntries(new Map(Array.from(Object.entries(body)).sort())))
|
|
|
+ };
|
|
|
+ magicJS.http.post(myRequest).then(response => {
|
|
|
+ const body = response.body;
|
|
|
+ if (body?.code === 0) {
|
|
|
+ config.share.num = (config.share.num || 0) + 1;
|
|
|
+ magicJS.logger.info("- 分享成功");
|
|
|
+ magicJS.data.write("bilibili_daily_bonus", magicJS.toStr(config));
|
|
|
+ } else {
|
|
|
+ magicJS.logger.info("- 分享失败, 失败原因: " + body?.message);
|
|
|
+ }
|
|
|
+ resolve(body);
|
|
|
+ }).catch(err => {
|
|
|
+ const msg = `分享异常\n${JSON.stringify(err)}`;
|
|
|
+ magicJS.logger.error(msg);
|
|
|
+ reject();
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ magicJS.logger.info(`- 今日已经分享 ${config.share.time}`);
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
-// async function coin() {
|
|
|
-// return new Promise((resolve, reject) => {
|
|
|
-// if (config.coins.num >= 50) {
|
|
|
-// magicJS.logger.info(`- 今日已完成 ${config.coins.time}`);
|
|
|
-// resolve();
|
|
|
-// return;
|
|
|
-// }
|
|
|
-// let like_uid_list = await getFavUid()
|
|
|
-// if (like_uid_list && like_uid_list.length > 0) {
|
|
|
-// let aid = await getFavAid(like_uid_list)
|
|
|
-// //magicJS.logger.info("即将投币的视频aid: " + aid)
|
|
|
-// if (aid !== 0) {
|
|
|
-// const body = {
|
|
|
-// aid,
|
|
|
-// multiply: 1,
|
|
|
-// select_like: 0,
|
|
|
-// cross_domain: true,
|
|
|
-// csrf: config.cookie.bili_jct
|
|
|
-// }
|
|
|
-// const myRequest = {
|
|
|
-// url: "https://api.bilibili.com/x/web-interface/coin/add",
|
|
|
-// headers: {
|
|
|
-// 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
|
|
|
-// 'accept': 'application/json, text/plain, */*',
|
|
|
-// 'content-type': 'application/x-www-form-urlencoded',
|
|
|
-// 'origin': 'https://www.bilibili.com',
|
|
|
-// 'referer': 'https://www.bilibili.com/video/BV1MT411G7fG?vd_source=1970993e2eff4af7be029aefcfa468b8',
|
|
|
-// 'cookie': config.cookieStr + ';buvid3=fuckchenruilovelaoliu'
|
|
|
-// },
|
|
|
-// body: magicJS.objToQueryStr(body)
|
|
|
-// }
|
|
|
-// magicJS.http.post(myRequest).then(async response => {
|
|
|
-// try {
|
|
|
-// const body = response.body;
|
|
|
-// if (body?.code === 0 && body?.message === "0") {
|
|
|
-// magicJS.logger.info("- 投币成功");
|
|
|
-// config.user.money -= 1;
|
|
|
-// config.coins.num += 10;
|
|
|
-// magicJS.data.write("bilibili_daily_bonus", magicJS.toStr(config));
|
|
|
-// } else {
|
|
|
-// magicJS.logger.info("- 投币失败,失败原因 " + body.message);
|
|
|
-// config.coins.failures = (config.coins.failures === 0 || typeof config.coins.failures === 'undefined' ? 1 : config.coins.failures + 1);
|
|
|
-// magicJS.data.write("bilibili_daily_bonus", magicJS.toStr(config));
|
|
|
-// if (config.coins.failures < 11) {
|
|
|
-// magicJS.logger.info("- 正在重试...重试次数 " + (config.coins.failures - 1) + "(超过十次不再重试)");
|
|
|
-// await coin();
|
|
|
-// }
|
|
|
-// }
|
|
|
-// } 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();
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// magicJS.logger.info("获取随机关注用户列表失败");
|
|
|
-// resolve();
|
|
|
-// }
|
|
|
-// });
|
|
|
-// }
|
|
|
+async function coin() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (config.coins.num >= 50) {
|
|
|
+ magicJS.logger.info(`- 今日已完成 ${config.coins.time}`);
|
|
|
+ resolve();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let like_uid_list = await getFavUid()
|
|
|
+ if (like_uid_list && like_uid_list.length > 0) {
|
|
|
+ let aid = await getFavAid(like_uid_list)
|
|
|
+ //magicJS.logger.info("即将投币的视频aid: " + aid)
|
|
|
+ if (aid !== 0) {
|
|
|
+ const body = {
|
|
|
+ aid,
|
|
|
+ multiply: 1,
|
|
|
+ select_like: 0,
|
|
|
+ cross_domain: true,
|
|
|
+ csrf: config.cookie.bili_jct
|
|
|
+ }
|
|
|
+ const myRequest = {
|
|
|
+ url: "https://api.bilibili.com/x/web-interface/coin/add",
|
|
|
+ headers: {
|
|
|
+ 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
|
|
|
+ 'accept': 'application/json, text/plain, */*',
|
|
|
+ 'content-type': 'application/x-www-form-urlencoded',
|
|
|
+ 'origin': 'https://www.bilibili.com',
|
|
|
+ 'referer': 'https://www.bilibili.com/video/BV1MT411G7fG?vd_source=1970993e2eff4af7be029aefcfa468b8',
|
|
|
+ 'cookie': config.cookieStr + ';buvid3=fuckchenruilovelaoliu'
|
|
|
+ },
|
|
|
+ body: magicJS.objToQueryStr(body)
|
|
|
+ }
|
|
|
+ magicJS.http.post(myRequest).then(async response => {
|
|
|
+ try {
|
|
|
+ const body = response.body;
|
|
|
+ if (body?.code === 0 && body?.message === "0") {
|
|
|
+ magicJS.logger.info("- 投币成功");
|
|
|
+ config.user.money -= 1;
|
|
|
+ config.coins.num += 10;
|
|
|
+ magicJS.data.write("bilibili_daily_bonus", magicJS.toStr(config));
|
|
|
+ } else {
|
|
|
+ magicJS.logger.info("- 投币失败,失败原因 " + body.message);
|
|
|
+ config.coins.failures = (config.coins.failures === 0 || typeof config.coins.failures === 'undefined' ? 1 : config.coins.failures + 1);
|
|
|
+ magicJS.data.write("bilibili_daily_bonus", magicJS.toStr(config));
|
|
|
+ if (config.coins.failures < 11) {
|
|
|
+ magicJS.logger.info("- 正在重试...重试次数 " + (config.coins.failures - 1) + "(超过十次不再重试)");
|
|
|
+ await coin();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } 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();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ magicJS.logger.info("获取随机关注用户列表失败");
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
-// async function getFavUid() {
|
|
|
-// return new Promise((resolve, reject) => {
|
|
|
-// const myRequest = {
|
|
|
-// url: `https://api.bilibili.com/x/relation/followings?vmid=${config.cookie.DedeUserID}&ps=10&order_type=attention`,
|
|
|
-// headers: {
|
|
|
-// 'cookie': config.cookieStr
|
|
|
-// }
|
|
|
-// };
|
|
|
-// magicJS.http.get(myRequest).then(response => {
|
|
|
-// try {
|
|
|
-// const body = response.body;
|
|
|
-// let like_uid_list = new Array();
|
|
|
-// if (body?.code === 0) {
|
|
|
-// magicJS.logger.info("- 获取关注列表成功");
|
|
|
-// let like_list = body?.data?.list;
|
|
|
-// for (let i = 0; i < like_list.length; i ++) {
|
|
|
-// like_uid_list[i] = like_list[i].mid;
|
|
|
-// }
|
|
|
-// resolve(like_uid_list);
|
|
|
-// } else {
|
|
|
-// magicJS.logger.info("- 获取关注列表成失败");
|
|
|
-// magicJS.logger.info("- 失败原因 " + body?.message);
|
|
|
-// resolve(like_uid_list);
|
|
|
-// }
|
|
|
-// } catch (e) {
|
|
|
-// magicJS.logger.error(JSON.stringify(e));
|
|
|
-// resolve();
|
|
|
-// }
|
|
|
-// }).catch(err => {
|
|
|
-// const msg = `获取关注列表异常\n${JSON.stringify(err)}`;
|
|
|
-// magicJS.logger.error(msg);
|
|
|
-// reject();
|
|
|
-// });
|
|
|
-// });
|
|
|
-// }
|
|
|
+async function getFavUid() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ const myRequest = {
|
|
|
+ url: `https://api.bilibili.com/x/relation/followings?vmid=${config.cookie.DedeUserID}&ps=10&order_type=attention`,
|
|
|
+ headers: {
|
|
|
+ 'cookie': config.cookieStr
|
|
|
+ }
|
|
|
+ };
|
|
|
+ magicJS.http.get(myRequest).then(response => {
|
|
|
+ try {
|
|
|
+ const body = response.body;
|
|
|
+ let like_uid_list = new Array();
|
|
|
+ if (body?.code === 0) {
|
|
|
+ magicJS.logger.info("- 获取关注列表成功");
|
|
|
+ let like_list = body?.data?.list;
|
|
|
+ for (let i = 0; i < like_list.length; i ++) {
|
|
|
+ like_uid_list[i] = like_list[i].mid;
|
|
|
+ }
|
|
|
+ resolve(like_uid_list);
|
|
|
+ } else {
|
|
|
+ magicJS.logger.info("- 获取关注列表成失败");
|
|
|
+ magicJS.logger.info("- 失败原因 " + body?.message);
|
|
|
+ resolve(like_uid_list);
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ magicJS.logger.error(JSON.stringify(e));
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ const msg = `获取关注列表异常\n${JSON.stringify(err)}`;
|
|
|
+ magicJS.logger.error(msg);
|
|
|
+ reject();
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
-// async function getFavAid(arr) {
|
|
|
-// return new Promise((resolve, reject) => {
|
|
|
-// //magicJS.logger.info("- 获取关注列表中的随机视频")
|
|
|
-// let random_int = Math.floor((Math.random()*arr.length));
|
|
|
-// let random_mid = arr[random_int];
|
|
|
-// let wbiSigns = getWbiSigns({mid: random_mid});
|
|
|
-// const myRequest = {
|
|
|
-// url: `https://api.bilibili.com/x/space/wbi/arc/search?${wbiSigns}`,
|
|
|
-// headers: {
|
|
|
-// 'cookie': config.cookieStr
|
|
|
-// }
|
|
|
-// };
|
|
|
-// magicJS.http.get(myRequest).then(response => {
|
|
|
-// try {
|
|
|
-// const body = response.body;
|
|
|
-// if (body?.code === 0) {
|
|
|
-// magicJS.logger.info("- 获取投币视频成功");
|
|
|
-// let vlist = body.data?.list?.vlist;
|
|
|
-// let random_v_int = Math.floor((Math.random() * vlist.length));
|
|
|
-// let aid = vlist[random_v_int]?.aid;
|
|
|
-// magicJS.logger.info("- 作者: " + vlist[random_v_int]['author'] + "; 视频标题: " + vlist[random_v_int]['title']);
|
|
|
-// resolve(aid);
|
|
|
-// } else {
|
|
|
-// magicJS.logger.info("- 获取投币视频失败");
|
|
|
-// magicJS.logger.info("- 失败原因 " + body?.message);
|
|
|
-// resolve(0);
|
|
|
-// }
|
|
|
-// } catch (e) {
|
|
|
-// magicJS.logger.error(e);
|
|
|
-// resolve();
|
|
|
-// }
|
|
|
-// }, reason => {
|
|
|
-// magicJS.logger.info("- 获取投币视频失败");
|
|
|
-// magicJS.logger.info("- 失败原因 " + magicJS.toStr(reason));
|
|
|
-// resolve(0);
|
|
|
-// }).catch(err => {
|
|
|
-// const msg = `获取投币视频异常\n${JSON.stringify(err)}`;
|
|
|
-// magicJS.logger.error(msg);
|
|
|
-// reject();
|
|
|
-// });
|
|
|
-// });
|
|
|
-// }
|
|
|
+async function getFavAid(arr) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ //magicJS.logger.info("- 获取关注列表中的随机视频")
|
|
|
+ let random_int = Math.floor((Math.random()*arr.length));
|
|
|
+ let random_mid = arr[random_int];
|
|
|
+ let wbiSigns = getWbiSigns({mid: random_mid});
|
|
|
+ const myRequest = {
|
|
|
+ url: `https://api.bilibili.com/x/space/wbi/arc/search?${wbiSigns}`,
|
|
|
+ headers: {
|
|
|
+ 'cookie': config.cookieStr
|
|
|
+ }
|
|
|
+ };
|
|
|
+ magicJS.http.get(myRequest).then(response => {
|
|
|
+ try {
|
|
|
+ const body = response.body;
|
|
|
+ if (body?.code === 0) {
|
|
|
+ magicJS.logger.info("- 获取投币视频成功");
|
|
|
+ let vlist = body.data?.list?.vlist;
|
|
|
+ let random_v_int = Math.floor((Math.random() * vlist.length));
|
|
|
+ let aid = vlist[random_v_int]?.aid;
|
|
|
+ magicJS.logger.info("- 作者: " + vlist[random_v_int]['author'] + "; 视频标题: " + vlist[random_v_int]['title']);
|
|
|
+ resolve(aid);
|
|
|
+ } else {
|
|
|
+ magicJS.logger.info("- 获取投币视频失败");
|
|
|
+ magicJS.logger.info("- 失败原因 " + body?.message);
|
|
|
+ resolve(0);
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ magicJS.logger.error(e);
|
|
|
+ resolve();
|
|
|
+ }
|
|
|
+ }, reason => {
|
|
|
+ magicJS.logger.info("- 获取投币视频失败");
|
|
|
+ magicJS.logger.info("- 失败原因 " + magicJS.toStr(reason));
|
|
|
+ resolve(0);
|
|
|
+ }).catch(err => {
|
|
|
+ const msg = `获取投币视频异常\n${JSON.stringify(err)}`;
|
|
|
+ magicJS.logger.error(msg);
|
|
|
+ reject();
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
async function silver2coin() {
|
|
|
return new Promise((resolve, reject) => {
|