Compare commits

...
6 Commits
Author SHA1 Message Date
shanmite 2ff4ec812b docs: 更新CHANGELOG 2021-12-11 18:24:38 +08:00
shanmite 20c423fc09 fix: "公共黑名单"显示错误(#87) 2021-12-11 18:21:37 +08:00
shanmite 6851f29f75 fix: 描述中出现undefined(#88) 2021-12-11 18:18:43 +08:00
shanmite 77d198bec5 docs: 更新CHANGELOG 2021-12-10 15:21:26 +08:00
shanmite 0ba6acec31 feat: check_if_duplicated可同时使用多种方式 2021-12-10 15:16:17 +08:00
shanmite dd994263b9 fix: 只转已关注功能失效 2021-12-10 14:50:41 +08:00
7 changed files with 46 additions and 27 deletions
+12
View File
@@ -1,5 +1,17 @@
<!-- markdownlint-disable MD036 MD024-->
# CHANGELOG
## 主要变化(2.4.2)
* 20c423f fix: "公共黑名单"显示错误(#87)
* 6851f29 fix: 描述中出现undefined(#88)
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
## 主要变化(2.4.1)
* 0ba6ace feat: check_if_duplicated可同时使用多种方式
* dd99426 fix: 只转已关注功能失效
_如果之前版本小于上一版本,请查看[CHANGELOG](CHANGELOG.md)变更说明_
## 主要变化(2.4.0)
* 01562b6 ci: verison升级时小版本号归0
* 90ac347 docs: 更新README
+20 -15
View File
@@ -256,13 +256,16 @@ class Monitor extends Searcher {
log.info('筛选动态', `去重后(${protoLotteryInfo.length})`);
/**并发查询dyid */
await Promise.all(
[...dyids_map.keys()]
.map(it => d_storage
.searchDyid(it)
.then(hasIt => dyids_map.set(it, hasIt))
)
)
if (check_if_duplicated === 1 || check_if_duplicated === 2) {
await Promise.all(
[...dyids_map.keys()]
.map(it => d_storage
.searchDyid(it)
.then(hasIt => dyids_map.set(it, hasIt))
)
)
log.info('筛选动态', `并发查询本地dyid完毕`);
}
if (lottery_param[0] !== "APIs" && set_lottery_info_url && protoLotteryInfo.length) {
log.info("上传抽奖信息", "开始")
@@ -299,9 +302,9 @@ class Monitor extends Searcher {
/* 遇到转发过就退出 */
if (
(!check_if_duplicated
((!check_if_duplicated || check_if_duplicated === 2)
&& is_liked)
|| (check_if_duplicated === 1
|| ((check_if_duplicated === 1 || check_if_duplicated === 2)
&& dyids_map.get(dyid))
) {
log.info("筛选动态", `已转发(https://t.bilibili.com/${dyid})`)
@@ -316,8 +319,8 @@ class Monitor extends Searcher {
const
[m_uid, ori_uid] = uids,
mIsFollowed = m_uid && (new RegExp(m_uid)).test(attentionList),
oriIsFollowed = ori_uid && (new RegExp(ori_uid)).test(attentionList),
mIsFollowed = !m_uid || (new RegExp(m_uid)).test(attentionList),
oriIsFollowed = !ori_uid || (new RegExp(ori_uid)).test(attentionList),
/**判断是转发源动态还是现动态 实际发奖人*/
[real_uid, realIsFollowed] = lottery_info_type === 'uid'
? [ori_uid, oriIsFollowed]
@@ -346,7 +349,9 @@ class Monitor extends Searcher {
}
/**若勾选只转已关注 */
if (only_followed && !mIsFollowed && !oriIsFollowed) {
if (only_followed
&& (!mIsFollowed || !oriIsFollowed)
) {
log.info("筛选动态", `只转已关注(https://t.bilibili.com/${dyid})`)
return false
}
@@ -364,7 +369,7 @@ class Monitor extends Searcher {
: blacklist;
if ((new RegExp(dyid + '|' + m_uid + '|' + ori_uid)).test(new_blacklist)) {
log.info("筛选动态", `公共黑名单用户(https://t.bilibili.com/${dyid})`)
log.info("筛选动态", `黑名单屏蔽(https://t.bilibili.com/${dyid})`)
return false
}
@@ -408,7 +413,7 @@ class Monitor extends Searcher {
}
/* 是否是转发的动态 */
if (isRelayDynamic && real_uid) {
if (isRelayDynamic) {
/* 转发内容长度+'//'+'@'+用户名+':'+源内容 */
const addlength = RandomStr.length + 2 + uname.length + 1 + 1;
onelotteryinfo.relay_chat = RandomStr + `//@${uname}:` + des;
@@ -525,7 +530,7 @@ class Monitor extends Searcher {
}
/* 点赞 */
if (!check_if_duplicated) {
if (!check_if_duplicated || check_if_duplicated === 2) {
status = await retryfn(
5,
[1, 2, 3],
+8 -8
View File
@@ -75,10 +75,10 @@ function parseDynamicCard(dynamic_detail_card) {
obj.ctrl = (extend_json && strToJson(extend_json).ctrl) || [];
/* 是否有官方抽奖 */
obj.hasOfficialLottery = extension && extension.lott && true;
/* 转发者的描述 后两个分别是视频动态的描述和视频本身的描述*/
/* 转发者的描述 纯文字内容 图片动态描述 后两个分别是视频动态的描述和视频本身的描述*/
obj.description =
(item && (item.content + item.description))
|| (cardToJson.dynamic + cardToJson.desc)
(item && (item.content || '' + item.description || ''))
|| (cardToJson.dynamic || '' + cardToJson.desc || '')
|| '';
if (obj.type === 1) {
const { origin_extension, origin } = cardToJson
@@ -98,8 +98,8 @@ function parseDynamicCard(dynamic_detail_card) {
obj.origin_uname = (user && (user.name || user.uname)) || '';
/* 被转发者的描述 */
obj.origin_description =
(item && (item.content + item.description))
|| (originToJson.dynamic + originToJson.desc)
(item && (item.content || '' + item.description || ''))
|| (originToJson.dynamic || '' + originToJson.desc || '')
|| '';
}
@@ -380,9 +380,9 @@ class Searcher {
, { is_liked } = parsed_card;
if (
(!check_if_duplicated
((!check_if_duplicated || check_if_duplicated === 2)
&& is_liked)
|| (check_if_duplicated === 1
|| ((check_if_duplicated === 1 || check_if_duplicated === 2)
&& await d_storage.searchDyid(dyid))
) {
log.info('获取动态', `动态(${dyid})已转发过`)
@@ -454,7 +454,7 @@ class Searcher {
let results = await pre
, { dyid } = cur;
if (!check_if_duplicated) {
if (!check_if_duplicated || check_if_duplicated === 2) {
log.info('获取动态', `查看动态(${dyid})是否点赞 (${length--})`)
const card = await bili.getOneDynamicByDyid(dyid)
+2 -1
View File
@@ -74,8 +74,9 @@ const config = {
* - 不检查 -1
* - 通过是否点赞判断 0
* - 检索本地dyids文件 1
* - 通过是否点赞判断+检索本地dyids文件 2
*/
check_if_duplicated: 0,
check_if_duplicated: 1,
/**
* - 动态创建时间
+2 -1
View File
@@ -88,8 +88,9 @@ module.exports = Object.freeze({
* - 不检查 -1
* - 通过是否点赞判断 0
* - 检索本地dyids文件 1
* - 通过是否点赞判断+检索本地dyids文件 2
*/
check_if_duplicated: 0,
check_if_duplicated: 1,
/**
* - 动态创建时间
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "lottery-auto-script",
"version": "2.4.0",
"version": "2.4.2",
"description": "自动参与B站动态抽奖",
"main": "main.js",
"scripts": {
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# version: <major.minor.patch>
level=minor
level=patch
npm version $level \
--no-commit-hooks \