mirror of
https://github.com/hex-ci/smzdm_script.git
synced 2026-02-03 10:34:33 +08:00
新增5碎银子抽奖
This commit is contained in:
@@ -12,7 +12,9 @@
|
||||
* 点赞文章
|
||||
* 评论文章
|
||||
* 分享
|
||||
* 免费抽奖
|
||||
* 抽奖
|
||||
* 免费抽奖
|
||||
* 5 碎银子抽奖
|
||||
* 关注用户
|
||||
* 关注栏目
|
||||
* 关注品牌
|
||||
@@ -49,6 +51,7 @@ ql repo https://github.com/hex-ci/smzdm_script.git "" "env.js|bot.js|sendNotify.
|
||||
* SMZDM_COOKIE: 抓包抓到的 Cookie 内容,需要所有 Cookie 内容,多用户可以用 `&` 分隔,或者使用多个同名环境变量。
|
||||
* SMZDM_SK: 这个值是可选值,是从安卓 App 的 `https://user-api.smzdm.com/checkin` 请求参数中抓包抓到的,如果抓到这个值可以填写(强烈建议填写),如果没抓到可以忽略,多用户可以用 `&` 分隔,或者使用多个同名环境变量,顺序要保持与 `SMZDM_COOKIE` 多用户顺序一致。
|
||||
* SMZDM_COMMENT: 如果要完成评论文章的任务请设置这个环境变量,环境变量的内容是评论的文案,文案要大于 10 个汉字,建议用比较个性化的文案,脚本发布评论后会删除这条评论,但是为防止删除失败的情况,请尽量用好一点的文案,防止被判定为恶意灌水。
|
||||
* SMZDM_CROWD_SILVER_5: 每日抽奖任务默认只进行免费抽奖,如要进行 5 碎银子的抽奖,请设置这个环境变量的值为 `yes`。
|
||||
|
||||
## 交流群
|
||||
|
||||
|
||||
@@ -554,13 +554,27 @@ class SmzdmTaskBot extends SmzdmBot {
|
||||
async doCrowdTask(task) {
|
||||
$.log(`开始任务: ${task.task_name}`);
|
||||
|
||||
const { isSuccess, data } = await this.getFreeCrowd();
|
||||
let { isSuccess, data } = await this.getCrowd('免费', 0);
|
||||
|
||||
if (!isSuccess) {
|
||||
return {
|
||||
isSuccess,
|
||||
code: 99
|
||||
};
|
||||
if (process.env.SMZDM_CROWD_SILVER_5 == 'yes') {
|
||||
({ isSuccess, data } = await this.getCrowd('5碎银子', 5));
|
||||
|
||||
if (!isSuccess) {
|
||||
return {
|
||||
isSuccess,
|
||||
code: 99
|
||||
};
|
||||
}
|
||||
}
|
||||
else {
|
||||
$.log('🟡请设置 SMZDM_CROWD_SILVER_5 环境变量值为 yes 后才能进行5碎银子抽奖!');
|
||||
|
||||
return {
|
||||
isSuccess,
|
||||
code: 99
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
$.log('等候 5 秒');
|
||||
@@ -841,38 +855,46 @@ class SmzdmTaskBot extends SmzdmBot {
|
||||
};
|
||||
}
|
||||
|
||||
// 获取免费抽奖信息
|
||||
async getFreeCrowd() {
|
||||
// 获取抽奖信息
|
||||
async getCrowd(name, price) {
|
||||
const { isSuccess, data, response } = await requestApi('https://zhiyou.smzdm.com/user/crowd/', {
|
||||
sign: false,
|
||||
parseJSON: false,
|
||||
headers: this.getHeadersForWeb()
|
||||
});
|
||||
|
||||
const re = new RegExp(`<button\\s+([^>]+?)>\\s+?<div\\s+[^>]+?>\\s*${name}(?:抽奖)?\\s*<\\/div>\\s+<span\\s+class="reduceNumber">-${price}<\\/span>[\\s\\S]+?<\\/button>`, 'ig');
|
||||
|
||||
if (isSuccess) {
|
||||
const match = data.match(/<button\s+([^>]+?)>\s+?<div\s+[^>]+?>\s*免费抽奖\s*<\/div>\s+<span\s+class="reduceNumber">-0<\/span>[\s\S]+?<\/button>/i);
|
||||
const crowds = [];
|
||||
let match;
|
||||
|
||||
if (match) {
|
||||
const matchCrowd = match[1].match(/data-crowd_id="(\d+)"/i);
|
||||
while ((match = re.exec(data)) !== null) {
|
||||
crowds.push(match[1]);
|
||||
}
|
||||
|
||||
if (matchCrowd) {
|
||||
$.log(`免费抽奖ID: ${matchCrowd[1]}`);
|
||||
if (crowds.length < 1) {
|
||||
$.log(`未找到${name}抽奖`);
|
||||
|
||||
return {
|
||||
isSuccess: true,
|
||||
data: matchCrowd[1]
|
||||
};
|
||||
}
|
||||
else {
|
||||
$.log(`未找到免费抽奖ID`);
|
||||
return {
|
||||
isSuccess: false
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
isSuccess: false
|
||||
};
|
||||
}
|
||||
const crowd = this.getOneByRandom(crowds);
|
||||
|
||||
const matchCrowd = crowd.match(/data-crowd_id="(\d+)"/i);
|
||||
|
||||
if (matchCrowd) {
|
||||
$.log(`${name}抽奖ID: ${matchCrowd[1]}`);
|
||||
|
||||
return {
|
||||
isSuccess: true,
|
||||
data: matchCrowd[1]
|
||||
};
|
||||
}
|
||||
else {
|
||||
$.log(`未找到免费抽奖`);
|
||||
$.log(`未找到${name}抽奖ID`);
|
||||
|
||||
return {
|
||||
isSuccess: false
|
||||
@@ -880,7 +902,7 @@ class SmzdmTaskBot extends SmzdmBot {
|
||||
}
|
||||
}
|
||||
else {
|
||||
$.log(`获取免费抽奖失败: ${response}`);
|
||||
$.log(`获取${name}抽奖失败: ${response}`);
|
||||
|
||||
return {
|
||||
isSuccess: false
|
||||
|
||||
Reference in New Issue
Block a user