yz-yuki-plugin 2.0.6-13 → 2.0.6-14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,27 +1,34 @@
1
1
  # b站推送,1 开启 0 关闭,保留添加的相关数据,但是不再推送
2
2
  pushStatus: 1
3
3
 
4
- # 检测b站动态的冷却时间 CD,Cron表达式,作用域共6位,具体方法浏览器搜索 “node-schedule cron表达式”,示例:
4
+ # 检测b站动态的冷却时间 CD,Cron表达式,作用域共6位,具体方法浏览器搜索 “node-schedule cron表达式”,
5
+ # 示例:
5
6
  # "*/15 * * * *" #每15min检测一次
6
7
  # "*/31 * * * *" #每31min检测一次
7
8
  # "0 5,35 * * * *" #每小时固定第5分0秒、第35分0秒检测一次,共2次/h
8
9
  # "0 5,35,51 * * * *" #每小时固定第5分0秒、第35分0秒、第51分0秒检测一次,共3次/h
9
- pushTime: '*/23 * * * *'
10
+ # ❀动态发布通常习惯整点发布,触发检测时比发布时间点稍晚几分钟即可,基本可以命中。
11
+ # ❀请勿设置周期过短比如小于10分钟,以免触发风控。
12
+ checkDynamicCD: '*/23 * * * *'
10
13
 
11
- # 请求头 User-Agent 列表。如出现 -352 风控,可尝试更换请求头,请根据需要自行添加或修改。可设置多个请求头,每次重启后会随机选择一个。获取方法请浏览器自行搜索。
14
+ # 请求头 User-Agent 列表。如出现 -352 风控,可尝试更换请求头,请根据需要自行添加或修改。
15
+ # 可设置多个请求头,每次重启后会随机选择一个。获取方法请浏览器自行搜索。
12
16
  userAgentList:
13
17
  - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36
14
18
  #- Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0
15
19
  #- Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0
16
20
 
17
- # 推送监测间隔,单位为秒,默认7200秒即2小时,即以当前时间为基准,监测过去2小时内的动态,并推送。取值范围:3600-36000秒,即过去的1-10h。应大于pushTime的周期。
18
- interval: 7200
21
+ # 筛选何时发布的动态,单位为秒,默认7200秒即2小时,即以当前时间为基准,筛选过去2小时内的发布动态,并推送。
22
+ # 取值范围:3600-36000秒,即过去的1-10h。应大于checkDynamicCD的周期。
23
+ dynamicTimeRange: 7200
19
24
 
20
- # 顺序检测相邻up主的动态并获取数据的最大随机间隔时间,单位为毫秒,默认 8000,即 8000 毫秒(8秒),即获取该up的动态数据后,随机等待2(内置值)-8秒后再获取下一位up的动态数据。取值范围:4000 ≦ x < pushTime的周期,单位为毫秒。
25
+ # 顺序检测相邻up主的动态并获取数据的最大随机间隔时间,单位为毫秒,默认 8000,即 8000 毫秒(8秒),
26
+ # 即获取该up的动态数据后,随机等待2(内置值)-8秒后再获取下一位up的动态数据。取值范围:4000 ≦ x < checkDynamicCD的周期,单位为毫秒。
21
27
  # 该数值大小影响风控概率, 请谨慎调整,建议不要设置过小,否则可能被风控导致动态获取失败。
22
28
  getDataRandomDelay: 8000
23
29
 
24
- # 全部订阅的转发动态是否推送: 默认 1 - 开启推送, 0 - 关闭推送。 如果仅仅需要关闭单个订阅的转发动态推送,使用分类订阅指令不包含 转发 分类即可,无需修改此配置。
30
+ # 全部订阅的转发动态是否推送: 默认 1 - 开启推送, 0 - 关闭推送。
31
+ # 如果仅仅需要关闭单个订阅的转发动态推送,使用分类订阅指令不包含 转发 分类即可,无需修改此配置。
25
32
  pushTransmit: 1
26
33
 
27
34
  # 推送文字和图文动态时,限制发送多少张图片
@@ -44,13 +51,16 @@ banWords:
44
51
  # 设置B站动态消息模式 0 文字模式 1 图片模式
45
52
  pushMsgMode: 1
46
53
 
47
- # 文字模式时,文字消息与图片附件是否合并在一起发送,默认 1 合并,0 不合并。如果合并时图片过多导致发送失败,可设置为 0 单独发送图片。
54
+ # 文字模式时,文字消息与图片附件是否合并在一起发送,默认 1 合并,0 不合并。
55
+ # 如果合并时图片过多导致发送失败,可设置为 0 单独发送图片。
48
56
  mergeTextPic: 1
49
57
 
50
- # 是否启用九宫格样式:默认 1 启用,0 不启用。此为最高优先级,九宫格为动态模式,特定大小/长宽比的图片资源将会动态启用九宫格/四宫格/无宫格样式。
58
+ # 是否启用九宫格样式:默认 1 启用,0 不启用。
59
+ # 此为最高优先级,九宫格为动态模式,特定大小/长宽比的图片资源将会动态启用九宫格/四宫格/无宫格样式。
51
60
  boxGrid: 1
52
61
 
53
- # B站动态卡片分片截图模式:默认 1 启用 0 不启用。启用,将会推送每条动态的全部内容;不启用,动态内容过长时候将只推送noSplitHeight长度的动态卡片,需关闭宫格模式。
62
+ # B站动态卡片分片截图模式:默认 1 启用 0 不启用。
63
+ # 启用,将会推送每条动态的全部内容;不启用,动态内容过长时候将只推送noSplitHeight长度的动态卡片,需关闭宫格模式。
54
64
  isSplit: 1
55
65
 
56
66
  # 动态卡片非分片模式下的截图高度,默认7500px(仅填数字,无需填入单位),请勿设置过大或过小。关闭分片截图时生效。
@@ -59,14 +69,16 @@ noSplitHeight: 7500
59
69
  # 动态卡片分页截图高度,默认8000px(仅填数字,无需填入单位),请勿设置过大或过小。启用分片截图时生效。
60
70
  splitHeight: 8000
61
71
 
62
- # 直播动态是否@全体成员,默认 0 关闭,1 开启。开启前请检查 <机器人> 是否有 [管理员权限] 或 [聊天平台是否支持],某些聊天平台或类型不支持@全体成员,如qq官方机器人等。
72
+ # 直播动态是否@全体成员,默认 0 关闭,1 开启。
73
+ # 开启前请检查 <机器人> 是否有 [管理员权限] 或 [聊天平台是否支持],某些聊天平台或类型不支持@全体成员,如qq官方机器人等。
63
74
  liveAtAll: 0
64
75
 
65
76
  # 直播动态@全体成员的群组/聊天/私聊列表,默认为空即不在任何群于推送直播动态中执行@全体成员。开启liveAtAll后才会生效。
66
77
  liveAtAllGroupList:
67
78
  - 1234567890 # 示例群号
68
79
 
69
- # 直播动态@全体成员的共享冷却时间CD,单位秒,默认 1800 秒(30分钟),即每个群聊30分钟内不论多少条直播动态,只会@一次。注意,qq群有 @全体成员 10次/日 的限制,所以请合理设置。
80
+ # 直播动态@全体成员的共享冷却时间CD,单位秒,默认 1800 秒(30分钟),
81
+ # 即每个群聊30分钟内不论多少条直播动态,只会@一次。注意,qq群有 @全体成员 10次/日 的限制,所以请合理设置。
70
82
  liveAtAllCD: 1800
71
83
 
72
84
  # 直播动态@全体成员失败时是否发送错误消息,默认 1 发送,0 不发送。开启liveAtAll后才会生效。
@@ -1,17 +1,22 @@
1
1
  # 微博推送,1 开启 0 关闭,保留添加的相关数据,但是不再推送
2
2
  pushStatus: 1
3
3
 
4
- # 检测微博动态的冷却时间 CD,Cron表达式,作用域共6位,具体方法浏览器搜索 “node-schedule cron表达式”,示例:
4
+ # 检测微博动态的冷却时间 CD,Cron表达式,作用域共6位,具体方法浏览器搜索 “node-schedule cron表达式”,
5
+ # 示例:
5
6
  # "*/15 * * * *" #每15min检测一次
6
7
  # "*/31 * * * *" #每31min检测一次
7
8
  # "0 5,35 * * * *" #每小时固定第5分0秒、第35分0秒检测一次,共2次/h
8
9
  # "0 5,35,51 * * * *" #每小时固定第5分0秒、第35分0秒、第51分0秒检测一次,共3次/h
9
- pushTime: '*/23 * * * *'
10
+ # ❀动态发布通常习惯整点发布,触发检测时比发布时间点稍晚几分钟即可,基本可以命中。
11
+ # ❀请勿设置周期过短比如小于10分钟,以免触发访问限制。
12
+ checkDynamicCD: '*/23 * * * *'
10
13
 
11
- # 推送监测间隔,单位为秒,默认7200秒即2小时,即以当前时间为基准,监测过去2小时内的动态,并推送。取值范围:3600-36000秒,即过去的1-10h。应大于pushTime的周期。
12
- interval: 7200
14
+ # 筛选何时发布的动态,单位为秒,默认7200秒即2小时,即以当前时间为基准,筛选过去2小时内发布的动态,并推送。
15
+ # 取值范围:3600-36000秒,即过去的1-10h。应大于checkDynamicCD的周期。
16
+ dynamicTimeRange: 7200
13
17
 
14
- # 全部订阅的转发动态是否推送: 默认 1 - 开启推送, 0 - 关闭推送。 如果仅仅需要关闭单个订阅的转发动态推送,使用分类订阅指令不包含 转发 分类即可,无需修改此配置。
18
+ # 全部订阅的转发动态是否推送: 默认 1 - 开启推送, 0 - 关闭推送。
19
+ # 如果仅仅需要关闭单个订阅的转发动态推送,使用分类订阅指令不包含 转发 分类即可,无需修改此配置。
15
20
  pushTransmit: 1
16
21
 
17
22
  # 推送动态时,限制发送多少张图片
@@ -34,13 +39,16 @@ banWords:
34
39
  # 设置微博动态消息模式 0 文字模式 1 图片模式
35
40
  pushMsgMode: 1
36
41
 
37
- # 文字模式时,文字消息与图片附件是否合并在一起发送,默认 1 合并,0 不合并。如果合并时图片过多导致发送失败,可设置为 0 单独发送图片。
42
+ # 文字模式时,文字消息与图片附件是否合并在一起发送,默认 1 合并,0 不合并。
43
+ # 如果合并时图片过多导致发送失败,可设置为 0 单独发送图片。
38
44
  mergeTextPic: 1
39
45
 
40
- # 是否启用九宫格样式:默认 1 启用,0 不启用。此为最高优先级,九宫格为动态模式,特定大小/长宽比的图片资源将会动态启用九宫格/四宫格/无宫格样式。
46
+ # 是否启用九宫格样式:默认 1 启用,0 不启用。
47
+ # 此为最高优先级,九宫格为动态模式,特定大小/长宽比的图片资源将会动态启用九宫格/四宫格/无宫格样式。
41
48
  boxGrid: 1
42
49
 
43
- # 微博动态卡片分片截图模式:默认 1 启用 0 不启用。启用,将会推送每条动态的全部内容;不启用,动态内容过长时候将只推送noSplitHeight长度的动态卡片,需关闭宫格模式。
50
+ # 微博动态卡片分片截图模式:默认 1 启用 0 不启用。
51
+ # 启用,将会推送每条动态的全部内容;不启用,动态内容过长时候将只推送noSplitHeight长度的动态卡片,需关闭宫格模式。
44
52
  isSplit: 1
45
53
 
46
54
  # 动态卡片非分片模式下的截图高度,默认7500px(仅填数字,无需填入单位),请勿设置过大或过小。关闭分片截图时生效。
package/lib/index.js CHANGED
@@ -55,7 +55,7 @@ var index = () => {
55
55
  catch (err) {
56
56
  console.error('B站动态推送定时任务', err);
57
57
  }
58
- }, biliConfigData.pushStatus ? biliConfigData.pushTime : '');
58
+ }, !!biliConfigData.pushStatus ? (biliConfigData.checkDynamicCD ? biliConfigData.checkDynamicCD : ' */23 * * * *') : '');
59
59
  /** 微博动态推送定时任务 */
60
60
  setBotTask(async (Bot) => {
61
61
  try {
@@ -67,7 +67,7 @@ var index = () => {
67
67
  catch (err) {
68
68
  console.error('微博动态推送定时任务', err);
69
69
  }
70
- }, weiboConfigData.pushStatus ? weiboConfigData.pushTime : '');
70
+ }, !!weiboConfigData.pushStatus ? (weiboConfigData.checkDynamicCD ? weiboConfigData.checkDynamicCD : ' */23 * * * *') : '');
71
71
  },
72
72
  async mounted(e) {
73
73
  // 存储
@@ -1,5 +1,4 @@
1
1
  import axios from 'axios';
2
- import https from 'https';
3
2
  import lodash from 'lodash';
4
3
  import BiliApi from './bilibili.main.api.js';
5
4
  import { readSyncCookie, cookieWithBiliTicket, readSavedCookieItems, readSavedCookieOtherItems } from './bilibili.main.models.js';
@@ -7,39 +6,9 @@ import { getWbiSign } from './bilibili.risk.wbi.js';
7
6
  import { getDmImg } from './bilibili.risk.dm.img.js';
8
7
  import { getWebId } from './bilibili.risk.w_webid.js';
9
8
 
10
- class BiliHttpClient {
11
- client;
12
- constructor() {
13
- this.client = this.initializeClient();
14
- }
15
- initializeClient() {
16
- const httpsAgent = new https.Agent({
17
- keepAlive: true,
18
- maxSockets: 100,
19
- timeout: 20000
20
- });
21
- const client = axios.create({
22
- httpsAgent: httpsAgent,
23
- timeout: 20000
24
- });
25
- return client;
26
- }
27
- async request(url, config) {
28
- try {
29
- const response = await this.client.request({ url, ...config });
30
- return response;
31
- }
32
- catch (error) {
33
- console.error('BiliHttpClient Request failed:', error);
34
- // 重新创建 AxiosInstance
35
- this.client = this.initializeClient();
36
- }
37
- }
38
- }
39
- class BilibiliWebDataFetcher extends BiliHttpClient {
40
- constructor(e) {
41
- super();
42
- }
9
+ class BilibiliWebDataFetcher {
10
+ e;
11
+ constructor(e) { }
43
12
  /**通过uid获取up动态数据表*/
44
13
  async getBiliDynamicListDataByUid(uid) {
45
14
  const url = BiliApi.BILIBIL_API.biliDynamicInfoList;
@@ -64,10 +33,10 @@ class BilibiliWebDataFetcher extends BiliHttpClient {
64
33
  w_rid: w_rid,
65
34
  wts: time_stamp
66
35
  };
67
- const res = await this.request(url, {
36
+ const res = await axios(url, {
68
37
  method: 'GET',
69
38
  params,
70
- timeout: 10000,
39
+ timeout: 15000,
71
40
  headers: lodash.merge(BiliApi.BILIBILI_HEADERS, {
72
41
  Cookie: `${cookie}`,
73
42
  Host: `api.bilibili.com`,
@@ -100,10 +69,10 @@ class BilibiliWebDataFetcher extends BiliHttpClient {
100
69
  w_rid: w_rid,
101
70
  wts: time_stamp
102
71
  };
103
- const res = await this.request(url, {
72
+ const res = await axios(url, {
104
73
  method: 'GET',
105
74
  params,
106
- timeout: 5000,
75
+ timeout: 10000,
107
76
  headers: lodash.merge(BiliApi.BILIBILI_HEADERS, {
108
77
  Cookie: `${cookie}`,
109
78
  Host: `api.bilibili.com`,
@@ -131,10 +100,10 @@ class BilibiliWebDataFetcher extends BiliHttpClient {
131
100
  w_rid: w_rid,
132
101
  wts: time_stamp
133
102
  };
134
- const res = await this.request(url, {
103
+ const res = await axios(url, {
135
104
  method: 'GET',
136
105
  params,
137
- timeout: 5000,
106
+ timeout: 10000,
138
107
  headers: lodash.merge(BiliApi.BILIBILI_HEADERS, {
139
108
  Cookie: `${cookie}`,
140
109
  Host: `api.bilibili.com`,
@@ -10,17 +10,15 @@ class BiliTask {
10
10
  taskName;
11
11
  groupKey;
12
12
  privateKey;
13
- BilibiliWebDataFetcher;
14
13
  e;
15
14
  constructor(e) {
16
15
  this.taskName = 'biliTask';
17
16
  this.groupKey = 'Yz:yuki:bili:upPush:group:';
18
17
  this.privateKey = 'Yz:yuki:bili:upPush:private:';
19
- this.BilibiliWebDataFetcher = new BilibiliWebDataFetcher();
20
18
  }
21
19
  async hendleEventDynamicData(uid, count = 0) {
22
20
  let { cookie } = await readSyncCookie();
23
- const resp = await this.BilibiliWebDataFetcher.getBiliDynamicListDataByUid(uid);
21
+ const resp = await new BilibiliWebDataFetcher().getBiliDynamicListDataByUid(uid);
24
22
  const resjson = await resp?.data;
25
23
  if (!resjson || resjson.code !== 0 || resjson.code === -352) {
26
24
  await postGateway(cookie);
@@ -41,7 +39,7 @@ class BiliTask {
41
39
  async runTask() {
42
40
  let biliConfigData = await Config.getUserConfig('bilibili', 'config');
43
41
  let biliPushData = await Config.getUserConfig('bilibili', 'push');
44
- let interval = biliConfigData?.interval || 7200;
42
+ let dynamicTimeRange = biliConfigData?.dynamicTimeRange || 7200; // 检测动态的冷却时间,单位为秒,默认2小时
45
43
  logger.debug(`当前B站功能配置:${JSON.stringify(biliConfigData)}`);
46
44
  const uidMap = new Map(); // 存放group 和 private 对应所属 uid 与推送信息的映射
47
45
  const dynamicList = {}; // 存放获取的所有动态,键为 uid,值为动态数组
@@ -49,7 +47,7 @@ class BiliTask {
49
47
  let now = Date.now() / 1000; // 时间戳(秒)
50
48
  // 定义待推送动态消息映射
51
49
  const messageMap = new Map();
52
- await this.makeUidDynamicDataMap(uidMap, dynamicList, now, interval, biliConfigData, messageMap);
50
+ await this.makeUidDynamicDataMap(uidMap, dynamicList, now, dynamicTimeRange, biliConfigData, messageMap);
53
51
  await this.sendDynamicMessage(messageMap, biliConfigData);
54
52
  }
55
53
  /**
@@ -117,7 +115,7 @@ class BiliTask {
117
115
  * @param uidMap uid 映射
118
116
  * @param dynamicList 动态列表
119
117
  * @param now 当前时间戳
120
- * @param interval 推送间隔时间
118
+ * @param interval 检测动态的冷却时间
121
119
  * @param biliConfigData Bilibili配置数据
122
120
  */
123
121
  async makeUidDynamicDataMap(uidMap, dynamicList, now, interval, biliConfigData, messageMap) {
@@ -1,49 +1,18 @@
1
1
  import axios from 'axios';
2
- import https from 'https';
3
2
  import { WeiboApi } from './weibo.main.api.js';
4
3
  import { WeiboQuery } from './weibo.main.query.js';
5
4
 
6
- class WeiboHttpClient {
7
- client;
8
- constructor() {
9
- this.client = this.initializeClient();
10
- }
11
- initializeClient() {
12
- const httpsAgent = new https.Agent({
13
- keepAlive: true,
14
- maxSockets: 100,
15
- timeout: 20000
16
- });
17
- const client = axios.create({
18
- httpsAgent: httpsAgent,
19
- timeout: 20000
20
- });
21
- return client;
22
- }
23
- async request(url, config) {
24
- try {
25
- const response = await this.client.request({ url, ...config });
26
- return response;
27
- }
28
- catch (error) {
29
- console.error('WeiboHttpClient Request failed:', error);
30
- // 重新创建 AxiosInstance
31
- this.client = this.initializeClient();
32
- }
33
- }
34
- }
35
- class WeiboWebDataFetcher extends WeiboHttpClient {
5
+ class WeiboWebDataFetcher {
36
6
  e;
37
- constructor(e) {
38
- super();
39
- }
7
+ constructor(e) { }
40
8
  /**通过uid获取博主信息 */
41
9
  async getBloggerInfo(target) {
42
10
  const param = { containerid: '100505' + target };
43
11
  const url = new URL(WeiboApi.WEIBO_API.weiboGetIndex);
44
12
  url.search = new URLSearchParams(param).toString();
45
- const resp = await this.request(url.toString(), {
13
+ const resp = await axios(url.toString(), {
46
14
  method: 'GET',
15
+ timeout: 10000,
47
16
  headers: { 'accept': '*/*', 'Content-Type': 'application/json', 'referer': 'https://m.weibo.cn' }
48
17
  });
49
18
  return resp;
@@ -54,9 +23,10 @@ class WeiboWebDataFetcher extends WeiboHttpClient {
54
23
  const params = {
55
24
  q: keyword
56
25
  };
57
- const resp = await this.request(url, {
26
+ const resp = await axios(url, {
58
27
  method: 'GET',
59
28
  params,
29
+ timeout: 10000,
60
30
  headers: { 'accept': '*/*', 'Content-Type': 'application/json', 'referer': 'https://s.weibo.com' }
61
31
  });
62
32
  return resp;
@@ -68,8 +38,9 @@ class WeiboWebDataFetcher extends WeiboHttpClient {
68
38
  url.search = new URLSearchParams(params).toString();
69
39
  await new Promise(resolve => setTimeout(resolve, Math.floor(Math.random() * (6500 - 1000 + 1) + 1000)));
70
40
  try {
71
- const response = await this.request(url.toString(), {
41
+ const response = await axios(url.toString(), {
72
42
  method: 'GET',
43
+ timeout: 10000,
73
44
  headers: { 'accept': '*/*', 'Content-Type': 'application/json', 'referer': 'https://m.weibo.cn' }
74
45
  });
75
46
  const { ok, data, msg } = response?.data;
@@ -9,13 +9,11 @@ class WeiboTask {
9
9
  taskName;
10
10
  groupKey;
11
11
  privateKey;
12
- WeiboWebDataFetcher;
13
12
  e;
14
13
  constructor(e) {
15
14
  this.taskName = 'weiboTask';
16
15
  this.groupKey = 'Yz:yuki:weibo:upPush:group:';
17
16
  this.privateKey = 'Yz:yuki:weibo:upPush:private:';
18
- this.WeiboWebDataFetcher = new WeiboWebDataFetcher(e);
19
17
  }
20
18
  /**
21
19
  * 执行动态推送任务
@@ -23,7 +21,7 @@ class WeiboTask {
23
21
  async runTask() {
24
22
  let weiboConfigData = await Config.getUserConfig('weibo', 'config');
25
23
  let weiboPushData = await Config.getUserConfig('weibo', 'push');
26
- let interval = weiboConfigData.interval || 7200; // 推送间隔时间,单位为秒,默认2小时
24
+ let interval = weiboConfigData.interval || 7200; // 检测动态的冷却时间,单位为秒,默认2小时
27
25
  logger.debug(`当前微博功能配置:${JSON.stringify(weiboConfigData)}`);
28
26
  const uidMap = new Map(); // 存放group 和 private 对应所属 uid 与推送信息的映射
29
27
  const dynamicList = {}; // 存放获取的所有动态,键为 uid,值为动态数组
@@ -61,7 +59,7 @@ class WeiboTask {
61
59
  dynamicList[subInfoOfup.uid] = dynamicData;
62
60
  }
63
61
  else {
64
- resp = await this.WeiboWebDataFetcher.getBloggerDynamicList(subInfoOfup.uid); // 获取指定 uid 的动态列表
62
+ resp = await new WeiboWebDataFetcher().getBloggerDynamicList(subInfoOfup.uid); // 获取指定 uid 的动态列表
65
63
  if (resp) {
66
64
  requestedDataOfUids.set(subInfoOfup.uid, resp); // 将响应数据存储到映射中
67
65
  const dynamicData = resp || [];
@@ -83,7 +81,7 @@ class WeiboTask {
83
81
  * @param uidMap uid 映射
84
82
  * @param dynamicList 动态列表
85
83
  * @param now 当前时间戳
86
- * @param interval 推送间隔时间
84
+ * @param interval 检测动态的冷却时间
87
85
  * @param weiboConfigData 微博配置数据
88
86
  */
89
87
  async makeUidDynamicDataMap(uidMap, dynamicList, now, interval, weiboConfigData, messageMap) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yz-yuki-plugin",
3
- "version": "2.0.6-13",
3
+ "version": "2.0.6-14",
4
4
  "description": "优纪插件,yunzaijs 关于 微博推送、B站推送 等功能的拓展插件",
5
5
  "author": "snowtafir",
6
6
  "type": "module",