mirror of
https://github.com/shanmiteko/LotteryAutoScript.git
synced 2026-06-04 21:01:17 +08:00
feat: 移除远程设置启用自动更新
This commit is contained in:
parent
04c25a88fc
commit
0024b19cbf
@ -281,7 +281,6 @@ class Monitor extends Searcher {
|
|||||||
model, chatmodel, chat: chats, relay: relays,
|
model, chatmodel, chat: chats, relay: relays,
|
||||||
block_dynamic_type, max_create_time, is_imitator,
|
block_dynamic_type, max_create_time, is_imitator,
|
||||||
only_followed, at_users, blockword, blacklist,
|
only_followed, at_users, blockword, blacklist,
|
||||||
use_public_blacklist
|
|
||||||
} = config,
|
} = config,
|
||||||
now_ts = Date.now() / 1000;
|
now_ts = Date.now() / 1000;
|
||||||
|
|
||||||
@ -399,25 +398,12 @@ class Monitor extends Searcher {
|
|||||||
isSendChat =
|
isSendChat =
|
||||||
(hasOfficialLottery && chatmodel[0] === '1')
|
(hasOfficialLottery && chatmodel[0] === '1')
|
||||||
|| (!hasOfficialLottery && chatmodel[1] === '1'),
|
|| (!hasOfficialLottery && chatmodel[1] === '1'),
|
||||||
{ blacklist: remote_blacklist } = use_public_blacklist === false
|
|
||||||
? { blacklist: "" }
|
|
||||||
: global_var.get("remoteconfig"),
|
|
||||||
/**
|
|
||||||
* 获取黑名单并去重合并
|
|
||||||
* @type {string[]}
|
|
||||||
*/
|
|
||||||
new_blacklist = remote_blacklist
|
|
||||||
? [
|
|
||||||
...new Set([...blacklist.split(','),
|
|
||||||
...remote_blacklist.split(',')])
|
|
||||||
]
|
|
||||||
: blacklist.split(','),
|
|
||||||
keys = [dyid, m_uid, ori_uid];
|
keys = [dyid, m_uid, ori_uid];
|
||||||
|
|
||||||
log.debug("筛选动态", { real_uid, mIsFollowed, oriIsFollowed, realIsFollowed, needAt, needTopic, type, isRelayDynamic, key_words, has_key_words, blockword, isBlock, isLottery, isSendChat })
|
log.debug("筛选动态", { real_uid, mIsFollowed, oriIsFollowed, realIsFollowed, needAt, needTopic, type, isRelayDynamic, key_words, has_key_words, blockword, isBlock, isLottery, isSendChat })
|
||||||
|
|
||||||
if (
|
if (
|
||||||
new_blacklist.some(id => keys.some(key => {
|
blacklist.split(',').some(id => keys.some(key => {
|
||||||
if (key + '' === id) {
|
if (key + '' === id) {
|
||||||
log.info("筛选动态", `黑名单匹配(${id})(https://t.bilibili.com/${dyid})`)
|
log.info("筛选动态", `黑名单匹配(${id})(https://t.bilibili.com/${dyid})`)
|
||||||
return true
|
return true
|
||||||
@ -472,7 +458,6 @@ class Monitor extends Searcher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isLottery) {
|
if (isLottery) {
|
||||||
const { uname_map = {} } = global_var.get("remoteconfig")
|
|
||||||
let onelotteryinfo = {};
|
let onelotteryinfo = {};
|
||||||
|
|
||||||
onelotteryinfo.isOfficialLottery = hasOfficialLottery;
|
onelotteryinfo.isOfficialLottery = hasOfficialLottery;
|
||||||
@ -489,7 +474,7 @@ class Monitor extends Searcher {
|
|||||||
let
|
let
|
||||||
/**转发评语 */
|
/**转发评语 */
|
||||||
RandomStr = (getRandomOne(relays) || "!!!")
|
RandomStr = (getRandomOne(relays) || "!!!")
|
||||||
.replace(/\$\{uname\}/g, uname_map[real_uid] || uname),
|
.replace(/\$\{uname\}/g, uname),
|
||||||
/**控制字段 */
|
/**控制字段 */
|
||||||
new_ctrl = [];
|
new_ctrl = [];
|
||||||
|
|
||||||
@ -542,7 +527,7 @@ class Monitor extends Searcher {
|
|||||||
if (isSendChat) {
|
if (isSendChat) {
|
||||||
onelotteryinfo.rid = rid
|
onelotteryinfo.rid = rid
|
||||||
onelotteryinfo.chat = (getRandomOne(chats) || "!!!")
|
onelotteryinfo.chat = (getRandomOne(chats) || "!!!")
|
||||||
.replace(/\$\{uname\}/g, uname_map[real_uid] || uname)
|
.replace(/\$\{uname\}/g, uname)
|
||||||
}
|
}
|
||||||
|
|
||||||
alllotteryinfo.push(onelotteryinfo);
|
alllotteryinfo.push(onelotteryinfo);
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
const { getRemoteConfig, getRandomOne, createDir, createFile, dyids_dir } = require("../utils");
|
const { getRandomOne, createDir, createFile, dyids_dir } = require("../utils");
|
||||||
const config = require("../data/config");
|
const config = require("../data/config");
|
||||||
|
|
||||||
let global_var = {
|
let global_var = {
|
||||||
@ -62,7 +62,6 @@ let global_var = {
|
|||||||
.map(lottery_option => config[lottery_option].map(it => [lottery_option, it]))
|
.map(lottery_option => config[lottery_option].map(it => [lottery_option, it]))
|
||||||
.flat()
|
.flat()
|
||||||
);
|
);
|
||||||
this.set('remoteconfig', await getRemoteConfig());
|
|
||||||
}
|
}
|
||||||
await createDir('dyids');
|
await createDir('dyids');
|
||||||
await createFile(dyids_dir, num < 2 ? 'dyid.txt' : `dyid${num}.txt`, '', 'a')
|
await createFile(dyids_dir, num < 2 ? 'dyid.txt' : `dyid${num}.txt`, '', 'a')
|
||||||
|
|||||||
@ -56,8 +56,9 @@ function checkPlatform(releases) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 半自动更新
|
* 半自动更新
|
||||||
|
* @param {boolean} isDdownload
|
||||||
*/
|
*/
|
||||||
async function update() {
|
async function update(isDdownload) {
|
||||||
try {
|
try {
|
||||||
const { tag_name, assets, body: text } = await getLatestRelease('shanmiteko', 'LotteryAutoScript')
|
const { tag_name, assets, body: text } = await getLatestRelease('shanmiteko', 'LotteryAutoScript')
|
||||||
if (checkVersion(version) < checkVersion(tag_name)) {
|
if (checkVersion(version) < checkVersion(tag_name)) {
|
||||||
@ -65,20 +66,23 @@ async function update() {
|
|||||||
.filter(({ name }) => checkPlatform(name))
|
.filter(({ name }) => checkPlatform(name))
|
||||||
.map(({ browser_download_url }) => browser_download_url)
|
.map(({ browser_download_url }) => browser_download_url)
|
||||||
if (download_url.length) {
|
if (download_url.length) {
|
||||||
await try_for_each(download_url.entries(), async ([i, url]) => {
|
if (isDdownload) {
|
||||||
let proxy_url = "https://ghproxy.com/";
|
await try_for_each(download_url.entries(), async ([i, url]) => {
|
||||||
proxy_url += url
|
let proxy_url = "https://ghproxy.com/";
|
||||||
log.warn('自动下载', `切换代理${proxy_url}`)
|
proxy_url += url
|
||||||
await download(proxy_url, `latest_version${i}.zip`)
|
log.warn('自动下载', `切换代理${proxy_url}`)
|
||||||
.catch(async err => {
|
await download(proxy_url, `latest_version${i}.zip`)
|
||||||
log.error('自动下载', err)
|
.catch(async err => {
|
||||||
proxy_url = url
|
log.error('自动下载', err)
|
||||||
log.warn('自动下载', `使用原始链接${proxy_url}`)
|
proxy_url = url
|
||||||
await download(proxy_url, `latest_version${i}.zip`)
|
log.warn('自动下载', `使用原始链接${proxy_url}`)
|
||||||
})
|
await download(proxy_url, `latest_version${i}.zip`)
|
||||||
return false
|
})
|
||||||
})
|
return false
|
||||||
log.info('自动下载', '成功下载到当前目录')
|
})
|
||||||
|
log.info('自动下载', '成功下载到当前目录')
|
||||||
|
log.info('检查更新', '请手动解压替换可执行文件');
|
||||||
|
}
|
||||||
log.info('更新说明', '\n' + text + '\n')
|
log.info('更新说明', '\n' + text + '\n')
|
||||||
} else {
|
} else {
|
||||||
throw `未找到能在此平台(${process.platform})-(${process.arch})上运行的版本,建议以源码运行`
|
throw `未找到能在此平台(${process.platform})-(${process.arch})上运行的版本,建议以源码运行`
|
||||||
@ -87,7 +91,7 @@ async function update() {
|
|||||||
throw '当前已是最新版本'
|
throw '当前已是最新版本'
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error('更新脚本', error)
|
log.warn('更新脚本', error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
29
lib/utils.js
29
lib/utils.js
@ -338,35 +338,6 @@ const utils = {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/**
|
|
||||||
* 获取远程设置
|
|
||||||
* @returns {Promise<JSON>}
|
|
||||||
*/
|
|
||||||
getRemoteConfig() {
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
send({
|
|
||||||
method: 'GET',
|
|
||||||
url: 'https://gitee.com/shanmite/lottery-notice/raw/master/notice.json',
|
|
||||||
headers: {
|
|
||||||
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
|
|
||||||
},
|
|
||||||
success: res => {
|
|
||||||
try {
|
|
||||||
const body = JSON.parse(Buffer.from(res.body, "base64").toString());
|
|
||||||
if (body.node_msg) utils.log.info('公告', '\n' + body.node_msg + '\n');
|
|
||||||
resolve(body.config)
|
|
||||||
} catch (error) {
|
|
||||||
utils.log.error('获取远程设置', '获取远程设置错误: ' + error);
|
|
||||||
resolve({})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
failure: err => {
|
|
||||||
utils.log.error('获取远程设置', '获取远程设置错误: ' + err);
|
|
||||||
resolve({})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
/**
|
/**
|
||||||
* 是否存在文件或目录
|
* 是否存在文件或目录
|
||||||
* @param {string} path
|
* @param {string} path
|
||||||
|
|||||||
8
main.js
8
main.js
@ -153,11 +153,13 @@ function initConfig() {
|
|||||||
/**OPTIONS */
|
/**OPTIONS */
|
||||||
process.env.lottery_mode = process.argv[2]
|
process.env.lottery_mode = process.argv[2]
|
||||||
|
|
||||||
|
log.info('检查更新', '开始')
|
||||||
|
|
||||||
if (process.env.lottery_mode === "update") {
|
if (process.env.lottery_mode === "update") {
|
||||||
log.info('检查更新', '开始')
|
await require("./lib/update").update(true)
|
||||||
await require("./lib/update").update()
|
|
||||||
log.info('检查更新', '请手动解压替换可执行文件')
|
|
||||||
return
|
return
|
||||||
|
} else {
|
||||||
|
await require("./lib/update").update(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
const err_msg = await main();
|
const err_msg = await main();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user