mirror of
https://github.com/shanmiteko/LotteryAutoScript.git
synced 2026-07-22 21:13:47 +08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f851ac1afe | ||
|
|
b53b698930 | ||
|
|
08d46c6f5c | ||
|
|
80ae3df933 | ||
|
|
ac397c68ec | ||
|
|
423bc24939 |
@@ -1,3 +1,32 @@
|
||||
## 主要变化(2.2.7)
|
||||
## 问题修复
|
||||
- 未移动分区(#50)
|
||||
- 修改线路切换逻辑
|
||||
## 较上一版本变化
|
||||
- `env.js`无
|
||||
- `my_config.js`无
|
||||
|
||||
**替换可执行文件**
|
||||
|
||||
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
|
||||
|
||||
**Full Changelog**: https://github.com/shanmiteko/LotteryAutoScript/compare/v2.2.6...v2.2.7
|
||||
|
||||
|
||||
## 主要变化(2.2.6)
|
||||
- LOG日志显示随机动态内容(#47)
|
||||
- 增加设置过滤间隔
|
||||
## 较上一版本变化
|
||||
- `env.js`无
|
||||
- `my_config.js`增加`filter_wait`
|
||||
|
||||
**替换可执行文件和更改配置文件(建议修改)**
|
||||
|
||||
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
|
||||
|
||||
**Full Changelog**: https://github.com/shanmiteko/LotteryAutoScript/compare/v2.2.5...v2.2.6
|
||||
|
||||
|
||||
## 主要变化(2.2.5)
|
||||
## 问题修复
|
||||
- 因黑名单而关注失败(#45)
|
||||
|
||||
+6
-2
@@ -51,7 +51,7 @@ class Monitor extends Searcher {
|
||||
event_bus.emit('Turn_off_the_Monitor', '评论失败')
|
||||
break
|
||||
case 21:
|
||||
event_bus.emit('Turn_on_the_Monitor')
|
||||
event_bus.emit('Turn_off_the_Monitor', '关注出错')
|
||||
break
|
||||
case 22:
|
||||
log.warn('账号异常', `UID(${global_var.get('myUID')})异常号只会对部分UP出现关注异常`)
|
||||
@@ -325,7 +325,7 @@ class Monitor extends Searcher {
|
||||
* @param {LotteryOptions} option
|
||||
* @returns {Promise<number>}
|
||||
* 0 - 成功
|
||||
* 9 - 评论黑名单
|
||||
* 9 - 评论黑名单/评论区关闭/动态删除
|
||||
* 11 - 评论错误
|
||||
* 19 - 关注黑名单
|
||||
* 21 - 关注错误
|
||||
@@ -373,8 +373,12 @@ class Monitor extends Searcher {
|
||||
status = await bili.autoAttention(u)
|
||||
switch (status) {
|
||||
case 0:
|
||||
if (await bili.movePartition(u, this.tagid)) {
|
||||
log.error('抽奖信息', `uid: ${u},dyid: ${dyid}`)
|
||||
}
|
||||
return false
|
||||
case -1:
|
||||
case 2:
|
||||
log.warn('抽奖信息', `uid: ${u},dyid: ${dyid}`)
|
||||
return true
|
||||
default:
|
||||
|
||||
+32
-26
@@ -6,20 +6,23 @@ const API = require('./api.bili');
|
||||
class Line {
|
||||
/**
|
||||
* 智能线路切换
|
||||
* @typedef {string} ErrorMsg
|
||||
* @typedef {[ErrorMsg, any]} ResResult
|
||||
* @param {any} default_value
|
||||
* @typedef {boolean} iSwitch 是否切换
|
||||
* @typedef {string} Msg 信息说明
|
||||
* @typedef {[iSwitch, any, Msg]} ResResult
|
||||
* @param {string} line_name
|
||||
* @param {Array<(...arg) => Promise<ResResult | string>>} requests
|
||||
* @param {(responseText: string) => ResResult} [pub_handler]
|
||||
*/
|
||||
constructor(default_value, line_name, requests, pub_handler) {
|
||||
constructor(line_name, requests, pub_handler) {
|
||||
this.line_name = line_name
|
||||
this.requests = requests
|
||||
this.valid_line = 0
|
||||
this.switch_times = 0
|
||||
this.default_value = default_value
|
||||
if (pub_handler) this.pub_handler = pub_handler
|
||||
/**
|
||||
* @type {ResResult}
|
||||
*/
|
||||
this.res_result = [false, null, '']
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,26 +56,27 @@ class Line {
|
||||
*/
|
||||
async run(...args) {
|
||||
const
|
||||
{ line_name, requests, valid_line, default_value } = this,
|
||||
{ line_name, requests, valid_line } = this,
|
||||
resp = await requests[valid_line](...args);
|
||||
let err, value;
|
||||
if (typeof resp === 'string') {
|
||||
[err, value] = this.pub_handler(resp)
|
||||
this.res_result = this.pub_handler(resp)
|
||||
} else {
|
||||
[err, value] = resp
|
||||
this.res_result = resp
|
||||
}
|
||||
if (!err) {
|
||||
const [i_switch, value, msg] = this.res_result
|
||||
if (!i_switch) {
|
||||
log.info(line_name, msg)
|
||||
this.storeLine(valid_line)
|
||||
return value
|
||||
}
|
||||
if (this.switchLine()) {
|
||||
log.warn(line_name, err)
|
||||
log.warn(line_name, msg)
|
||||
log.warn(line_name, `切换线路(${valid_line + 1}/${requests.length})`)
|
||||
return await this.run()
|
||||
} else {
|
||||
log.error(line_name, err)
|
||||
log.error(line_name, msg)
|
||||
log.error(line_name, '所有备用线路均连接失败')
|
||||
return default_value
|
||||
return value
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -463,7 +467,7 @@ const bili_client = {
|
||||
/**
|
||||
* 获取粉丝数的所有有效方式
|
||||
*/
|
||||
_getUserInfo: new Line(-1, '获取粉丝数', [
|
||||
_getUserInfo: new Line('获取粉丝数', [
|
||||
/**
|
||||
* 线路一
|
||||
* @param {number} uid
|
||||
@@ -493,9 +497,9 @@ const bili_client = {
|
||||
], responseText => {
|
||||
const res = strToJson(responseText);
|
||||
if (res.code === 0) {
|
||||
return [null, res.data.follower];
|
||||
return [false, res.data.follower, 'ok'];
|
||||
} else {
|
||||
return [`出错 可能是访问过频繁\n${responseText}`, null]
|
||||
return [true, 1, `出错 可能是访问过频繁\n${responseText}`]
|
||||
}
|
||||
}),
|
||||
/**
|
||||
@@ -534,7 +538,7 @@ const bili_client = {
|
||||
};
|
||||
}
|
||||
},
|
||||
_autoAttention: new Line(1, '自动关注', [
|
||||
_autoAttention: new Line('自动关注', [
|
||||
(uid) => post({
|
||||
url: API.RELATION_MODIFY,
|
||||
config: {
|
||||
@@ -568,16 +572,15 @@ const bili_client = {
|
||||
const res = strToJson(responseText);
|
||||
switch (res.code) {
|
||||
case 0:
|
||||
log.info('自动关注', '关注+1');
|
||||
return [null, 0]
|
||||
return [false, 0, '关注+1']
|
||||
case 22002:
|
||||
return ['您已被对方拉入黑名单', -1]
|
||||
return [false, -1, '您已被对方拉入黑名单']
|
||||
case 22003:
|
||||
return ['黑名单用户无法关注', -1]
|
||||
return [false, -1, '黑名单用户无法关注', -1]
|
||||
case 22015:
|
||||
return ['账号异常', 2]
|
||||
return [false, 2, '账号异常', 2]
|
||||
default:
|
||||
return [`未知错误\n${responseText}`, 1]
|
||||
return [true, 1, `未知错误\n${responseText}`]
|
||||
}
|
||||
}),
|
||||
/**
|
||||
@@ -835,7 +838,7 @@ const bili_client = {
|
||||
* @returns {Promise<number>}
|
||||
* - 成功 0
|
||||
* - 失败 1
|
||||
* - 黑名单 -1
|
||||
* - 黑名单/评论区关闭/动态删除 -1
|
||||
*/
|
||||
async sendChat(rid, msg, type) {
|
||||
const
|
||||
@@ -855,10 +858,10 @@ const bili_client = {
|
||||
return 0;
|
||||
case -404:
|
||||
log.error('自动评论', '原动态已删除');
|
||||
return 0;
|
||||
return -1;
|
||||
case 12002:
|
||||
log.error('自动评论', '评论区已关闭');
|
||||
return 0;
|
||||
return -1;
|
||||
case 12015:
|
||||
log.error('自动评论', '需要输入验证码');
|
||||
return 1;
|
||||
@@ -868,6 +871,9 @@ const bili_client = {
|
||||
case 12053:
|
||||
log.error('自动评论', '黑名单用户无法互动');
|
||||
return -1;
|
||||
case 12061:
|
||||
log.error('自动评论', 'UP主已关闭评论区');
|
||||
return -1;
|
||||
default:
|
||||
log.error('自动评论', `未知错误\n${responseText}`);
|
||||
return 1;
|
||||
|
||||
@@ -88,7 +88,8 @@ async function main() {
|
||||
return `提供了错误的[OPTIONS] -> ${mode}\n\n` + help_msg
|
||||
}
|
||||
} else {
|
||||
return 'Cookie已失效, 切换账号时不要点击退出账号而应直接删除Cookie退出'
|
||||
log.error('Cookie已失效', '切换账号时不要点击退出账号而应直接删除Cookie退出')
|
||||
return ''
|
||||
}
|
||||
} else {
|
||||
return '请查看README文件, 在env.js指定位置填入cookie'
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "lottery-auto-script",
|
||||
"version": "2.2.6",
|
||||
"version": "2.2.8",
|
||||
"description": "自动参与B站动态抽奖",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user