wechaty-web-panel 1.6.47 → 1.6.48
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.
- package/CHANGELOG.md +4 -0
- package/dist/cjs/src/lib/index.d.ts +1 -0
- package/dist/cjs/src/lib/index.js +18 -2
- package/dist/cjs/src/package-json.js +1 -1
- package/dist/cjs/src/task/index.js +15 -10
- package/dist/cjs/src/task/rss.js +11 -5
- package/dist/esm/src/lib/index.d.ts +1 -0
- package/dist/esm/src/lib/index.js +16 -1
- package/dist/esm/src/package-json.js +1 -1
- package/dist/esm/src/task/index.js +15 -10
- package/dist/esm/src/task/rss.js +11 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -26,11 +26,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.getNewsType = exports.groupArray = exports.cancelAllSchedule = exports.throttle = exports.msgArr = exports.contentDistinguish = exports.getFormatQuery = exports.MD5 = exports.writeFile = exports.randomRange = exports.getConstellation = exports.isRealDate = exports.formatDate = exports.getDay = exports.convertTime = exports.getToday = exports.delay = exports.parseBody = exports.setLocalSchedule = exports.Base64Decode = exports.Base64Encode = exports.extractImageLinks = exports.delHtmlTag = void 0;
|
|
29
|
+
exports.getNewsType = exports.groupArray = exports.cancelAllSchedule = exports.throttle = exports.msgArr = exports.contentDistinguish = exports.getFormatQuery = exports.MD5 = exports.writeFile = exports.randomRange = exports.getConstellation = exports.isRealDate = exports.formatDate = exports.getDay = exports.convertTime = exports.getToday = exports.delay = exports.parseBody = exports.setLocalSchedule = exports.Base64Decode = exports.Base64Encode = exports.extractImageLinks = exports.isCDNFileUrl = exports.delHtmlTag = void 0;
|
|
30
30
|
const crypto_1 = __importDefault(require("crypto"));
|
|
31
31
|
const schedule = __importStar(require("node-schedule"));
|
|
32
32
|
const fs_1 = __importDefault(require("fs"));
|
|
33
33
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
34
|
+
const path_1 = __importDefault(require("path"));
|
|
34
35
|
/**
|
|
35
36
|
* 设置定时器
|
|
36
37
|
* @param {*} date 日期
|
|
@@ -496,6 +497,21 @@ function delHtmlTag(str) {
|
|
|
496
497
|
return str.replace(/<[^>]+>/g, ""); //去掉所有的html标记
|
|
497
498
|
}
|
|
498
499
|
exports.delHtmlTag = delHtmlTag;
|
|
500
|
+
function isCDNFileUrl(url) {
|
|
501
|
+
// 常见的CDN文件扩展名
|
|
502
|
+
const cdnFileExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.mp4', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.avi', '.zip', '.wav', '.rar', '.pdf', '.txt', '.log'];
|
|
503
|
+
try {
|
|
504
|
+
const parsedUrl = new URL(url);
|
|
505
|
+
const fileExt = path_1.default.extname(parsedUrl.pathname).toLowerCase();
|
|
506
|
+
// 检查文件扩展名是否在cdnFileExtensions列表中
|
|
507
|
+
return cdnFileExtensions.includes(fileExt);
|
|
508
|
+
}
|
|
509
|
+
catch (err) {
|
|
510
|
+
// 无效的URL
|
|
511
|
+
return false;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
exports.isCDNFileUrl = isCDNFileUrl;
|
|
499
515
|
/**
|
|
500
516
|
* 提取文字中的图片链接 文件链接
|
|
501
517
|
* @param text
|
|
@@ -520,7 +536,7 @@ function extractImageLinks(text) {
|
|
|
520
536
|
while ((match = mdRegexHttp.exec(text)) !== null || (match = mdRegexHttps.exec(text)) !== null || (match = fileRegexHttp.exec(text)) !== null || (match = filesRegexHttp.exec(text)) !== null) {
|
|
521
537
|
imageLinks.push(match[1]);
|
|
522
538
|
}
|
|
523
|
-
imageLinks = Array.from(new Set(imageLinks));
|
|
539
|
+
imageLinks = Array.from(new Set(imageLinks)).filter(item => isCDNFileUrl(item));
|
|
524
540
|
return imageLinks.map(item => ({ type: 2, url: item }));
|
|
525
541
|
}
|
|
526
542
|
exports.extractImageLinks = extractImageLinks;
|
|
@@ -65,7 +65,7 @@ async function setTask(that, item, name, callback) {
|
|
|
65
65
|
* @param targets 发送的多个目标
|
|
66
66
|
* @return {Promise<void>}
|
|
67
67
|
*/
|
|
68
|
-
|
|
68
|
+
async function sendCustom({ that, target, item, isMulti, targets }) {
|
|
69
69
|
for (let reply of item.contents) {
|
|
70
70
|
console.log("定时任务开始发送,内容:", `${reply.type === 1 ? reply.content : reply.url}`);
|
|
71
71
|
await (0, index_js_1.delay)(1000);
|
|
@@ -112,7 +112,8 @@ const sendCustom = async ({ that, target, item, isMulti, targets }) => {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
}
|
|
115
|
+
}
|
|
116
|
+
;
|
|
116
117
|
/**
|
|
117
118
|
* 发送新闻资讯
|
|
118
119
|
* @param that
|
|
@@ -122,7 +123,7 @@ const sendCustom = async ({ that, target, item, isMulti, targets }) => {
|
|
|
122
123
|
* @param targets 发送的多个目标
|
|
123
124
|
* @return {Promise<void>}
|
|
124
125
|
*/
|
|
125
|
-
|
|
126
|
+
async function sendNews({ that, target, item, isMulti, targets }) {
|
|
126
127
|
let content = await (0, index_js_2.getNewsContent)(item.sortId, item.endWord, item.num || 10);
|
|
127
128
|
console.log("新闻资讯开始发送,内容:", content);
|
|
128
129
|
await (0, index_js_1.delay)(200);
|
|
@@ -145,7 +146,8 @@ const sendNews = async ({ that, target, item, isMulti, targets }) => {
|
|
|
145
146
|
}
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
|
-
}
|
|
149
|
+
}
|
|
150
|
+
;
|
|
149
151
|
/**
|
|
150
152
|
* 发送自定义定制内容
|
|
151
153
|
* @param that
|
|
@@ -156,7 +158,7 @@ const sendNews = async ({ that, target, item, isMulti, targets }) => {
|
|
|
156
158
|
* @param targets 发送的多个目标
|
|
157
159
|
* @return {Promise<void>}
|
|
158
160
|
*/
|
|
159
|
-
|
|
161
|
+
async function sendCustomContent({ that, target, type, item, isMulti, targets }) {
|
|
160
162
|
let contents = await (0, index_js_2.getCustomContent)(item.sortId);
|
|
161
163
|
console.log("定制内容发送", contents);
|
|
162
164
|
if (!isMulti) {
|
|
@@ -184,7 +186,8 @@ const sendCustomContent = async ({ that, target, type, item, isMulti, targets })
|
|
|
184
186
|
}
|
|
185
187
|
}
|
|
186
188
|
}
|
|
187
|
-
}
|
|
189
|
+
}
|
|
190
|
+
;
|
|
188
191
|
/**
|
|
189
192
|
* 发送每日说
|
|
190
193
|
* @param that
|
|
@@ -192,7 +195,7 @@ const sendCustomContent = async ({ that, target, type, item, isMulti, targets })
|
|
|
192
195
|
* @param item
|
|
193
196
|
* @return {Promise<void>}
|
|
194
197
|
*/
|
|
195
|
-
|
|
198
|
+
async function sendEveryDay({ that, target, item }) {
|
|
196
199
|
let content = "";
|
|
197
200
|
if (item.type === "room") {
|
|
198
201
|
content = await (0, index_js_2.getRoomEveryDayContent)(item.memorialDay, item.city, item.endWord);
|
|
@@ -203,7 +206,8 @@ const sendEveryDay = async ({ that, target, item }) => {
|
|
|
203
206
|
console.log("每日说任务开始工作,发送内容:", content);
|
|
204
207
|
await (0, index_js_1.delay)(1000);
|
|
205
208
|
await target.say(content);
|
|
206
|
-
}
|
|
209
|
+
}
|
|
210
|
+
;
|
|
207
211
|
/**
|
|
208
212
|
* 发送倒计时
|
|
209
213
|
* @param that
|
|
@@ -213,7 +217,7 @@ const sendEveryDay = async ({ that, target, item }) => {
|
|
|
213
217
|
* @param targets 发送的多个目标
|
|
214
218
|
* @return {Promise<void>}
|
|
215
219
|
*/
|
|
216
|
-
|
|
220
|
+
async function sendCountDown({ that, target, item, isMulti, targets }) {
|
|
217
221
|
let content = await (0, index_js_2.getCountDownContent)(item.memorialDay, item.prefix, item.suffix, item.endWord);
|
|
218
222
|
console.log("倒计时任务开始工作,发送内容:", content);
|
|
219
223
|
await (0, index_js_1.delay)(1000);
|
|
@@ -236,7 +240,8 @@ const sendCountDown = async ({ that, target, item, isMulti, targets }) => {
|
|
|
236
240
|
}
|
|
237
241
|
}
|
|
238
242
|
}
|
|
239
|
-
}
|
|
243
|
+
}
|
|
244
|
+
;
|
|
240
245
|
/**
|
|
241
246
|
* 立即发送群消息
|
|
242
247
|
* @param {*} that bot对象
|
package/dist/cjs/src/task/rss.js
CHANGED
|
@@ -13,7 +13,12 @@ const puppet_type_js_1 = require("../const/puppet-type.js");
|
|
|
13
13
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
14
14
|
async function getRssContent(info) {
|
|
15
15
|
try {
|
|
16
|
-
const parser = new rss_parser_1.default(
|
|
16
|
+
const parser = new rss_parser_1.default({
|
|
17
|
+
requestOptions: {
|
|
18
|
+
rejectUnauthorized: false,
|
|
19
|
+
},
|
|
20
|
+
headers: { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36' },
|
|
21
|
+
});
|
|
17
22
|
console.log('订阅源:' + info.rssUrl);
|
|
18
23
|
const feed = await parser.parseURL(info.rssUrl);
|
|
19
24
|
const lastItem = await (0, rssHistory_js_1.getRssHistoryById)(info.id);
|
|
@@ -21,7 +26,7 @@ async function getRssContent(info) {
|
|
|
21
26
|
if (feed.items && feed.items.length) {
|
|
22
27
|
// 当存在历史推送记录 需要判读是否推送过
|
|
23
28
|
const last = feed.items[0];
|
|
24
|
-
const lastContent = last.link;
|
|
29
|
+
const lastContent = last.link || last.title;
|
|
25
30
|
if (lastItem) {
|
|
26
31
|
if (lastContent !== lastItem.lastContent) {
|
|
27
32
|
const content = await setContent(last, info);
|
|
@@ -49,7 +54,7 @@ async function setContent(feed, info) {
|
|
|
49
54
|
return [res];
|
|
50
55
|
}
|
|
51
56
|
else {
|
|
52
|
-
const content = `${info.prefixWord ? info.prefixWord + eol + eol : ''}${(0, index_js_1.delHtmlTag)(feed.title)}${eol}${eol}【摘要】:${(0, index_js_1.delHtmlTag)(feed.content).substring(0,
|
|
57
|
+
const content = `${info.prefixWord ? info.prefixWord + eol + eol : ''}${(0, index_js_1.delHtmlTag)(feed.title)}${eol}${eol}【摘要】:${(0, index_js_1.delHtmlTag)(feed.content).substring(0, 1500)}...${eol}【链接】:${feed.link}${eol}${eol}${info.suffixWord || ''}`;
|
|
53
58
|
return [{ type: 1, content: content }];
|
|
54
59
|
}
|
|
55
60
|
}
|
|
@@ -107,7 +112,7 @@ async function setTask(that, item, name, callback) {
|
|
|
107
112
|
* @param item
|
|
108
113
|
* @return {Promise<void>}
|
|
109
114
|
*/
|
|
110
|
-
|
|
115
|
+
async function sendRssContent({ that, target, item }) {
|
|
111
116
|
const replys = await getRssContent(item);
|
|
112
117
|
for (let reply of replys) {
|
|
113
118
|
console.log("检测到rss内容更新,开始发送:", `${reply.type === 1 ? reply.content : reply.url}`);
|
|
@@ -119,7 +124,7 @@ const sendRssContent = async ({ that, target, item }) => {
|
|
|
119
124
|
await index_js_2.contactSay.call(that, target, reply);
|
|
120
125
|
}
|
|
121
126
|
}
|
|
122
|
-
}
|
|
127
|
+
}
|
|
123
128
|
/**
|
|
124
129
|
* 立即发送rss消息
|
|
125
130
|
* @param {*} that bot对象
|
|
@@ -151,6 +156,7 @@ async function initRssTask(that) {
|
|
|
151
156
|
try {
|
|
152
157
|
(0, index_js_1.cancelAllSchedule)("task_rss");
|
|
153
158
|
const rssTasks = await (0, rssConfig_js_1.getAllRssConfig)(); // 获取配置信息
|
|
159
|
+
console.log(`获取到 rss 任务 :${rssTasks.length}个`);
|
|
154
160
|
// 每日说定时任务
|
|
155
161
|
if (rssTasks && rssTasks.length > 0) {
|
|
156
162
|
rssTasks.forEach((item, index) => {
|
|
@@ -2,6 +2,7 @@ import Crypto from 'crypto';
|
|
|
2
2
|
import * as schedule from 'node-schedule';
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import dayjs from "dayjs";
|
|
5
|
+
import path from 'path';
|
|
5
6
|
/**
|
|
6
7
|
* 设置定时器
|
|
7
8
|
* @param {*} date 日期
|
|
@@ -445,6 +446,20 @@ function groupArray(array, subGroupLength) {
|
|
|
445
446
|
export function delHtmlTag(str) {
|
|
446
447
|
return str.replace(/<[^>]+>/g, ""); //去掉所有的html标记
|
|
447
448
|
}
|
|
449
|
+
export function isCDNFileUrl(url) {
|
|
450
|
+
// 常见的CDN文件扩展名
|
|
451
|
+
const cdnFileExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.mp4', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.avi', '.zip', '.wav', '.rar', '.pdf', '.txt', '.log'];
|
|
452
|
+
try {
|
|
453
|
+
const parsedUrl = new URL(url);
|
|
454
|
+
const fileExt = path.extname(parsedUrl.pathname).toLowerCase();
|
|
455
|
+
// 检查文件扩展名是否在cdnFileExtensions列表中
|
|
456
|
+
return cdnFileExtensions.includes(fileExt);
|
|
457
|
+
}
|
|
458
|
+
catch (err) {
|
|
459
|
+
// 无效的URL
|
|
460
|
+
return false;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
448
463
|
/**
|
|
449
464
|
* 提取文字中的图片链接 文件链接
|
|
450
465
|
* @param text
|
|
@@ -469,7 +484,7 @@ export function extractImageLinks(text) {
|
|
|
469
484
|
while ((match = mdRegexHttp.exec(text)) !== null || (match = mdRegexHttps.exec(text)) !== null || (match = fileRegexHttp.exec(text)) !== null || (match = filesRegexHttp.exec(text)) !== null) {
|
|
470
485
|
imageLinks.push(match[1]);
|
|
471
486
|
}
|
|
472
|
-
imageLinks = Array.from(new Set(imageLinks));
|
|
487
|
+
imageLinks = Array.from(new Set(imageLinks)).filter(item => isCDNFileUrl(item));
|
|
473
488
|
return imageLinks.map(item => ({ type: 2, url: item }));
|
|
474
489
|
}
|
|
475
490
|
export { Base64Encode };
|
|
@@ -59,7 +59,7 @@ async function setTask(that, item, name, callback) {
|
|
|
59
59
|
* @param targets 发送的多个目标
|
|
60
60
|
* @return {Promise<void>}
|
|
61
61
|
*/
|
|
62
|
-
|
|
62
|
+
async function sendCustom({ that, target, item, isMulti, targets }) {
|
|
63
63
|
for (let reply of item.contents) {
|
|
64
64
|
console.log("定时任务开始发送,内容:", `${reply.type === 1 ? reply.content : reply.url}`);
|
|
65
65
|
await delay(1000);
|
|
@@ -106,7 +106,8 @@ const sendCustom = async ({ that, target, item, isMulti, targets }) => {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
}
|
|
109
|
+
}
|
|
110
|
+
;
|
|
110
111
|
/**
|
|
111
112
|
* 发送新闻资讯
|
|
112
113
|
* @param that
|
|
@@ -116,7 +117,7 @@ const sendCustom = async ({ that, target, item, isMulti, targets }) => {
|
|
|
116
117
|
* @param targets 发送的多个目标
|
|
117
118
|
* @return {Promise<void>}
|
|
118
119
|
*/
|
|
119
|
-
|
|
120
|
+
async function sendNews({ that, target, item, isMulti, targets }) {
|
|
120
121
|
let content = await getNewsContent(item.sortId, item.endWord, item.num || 10);
|
|
121
122
|
console.log("新闻资讯开始发送,内容:", content);
|
|
122
123
|
await delay(200);
|
|
@@ -139,7 +140,8 @@ const sendNews = async ({ that, target, item, isMulti, targets }) => {
|
|
|
139
140
|
}
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
|
-
}
|
|
143
|
+
}
|
|
144
|
+
;
|
|
143
145
|
/**
|
|
144
146
|
* 发送自定义定制内容
|
|
145
147
|
* @param that
|
|
@@ -150,7 +152,7 @@ const sendNews = async ({ that, target, item, isMulti, targets }) => {
|
|
|
150
152
|
* @param targets 发送的多个目标
|
|
151
153
|
* @return {Promise<void>}
|
|
152
154
|
*/
|
|
153
|
-
|
|
155
|
+
async function sendCustomContent({ that, target, type, item, isMulti, targets }) {
|
|
154
156
|
let contents = await getCustomContent(item.sortId);
|
|
155
157
|
console.log("定制内容发送", contents);
|
|
156
158
|
if (!isMulti) {
|
|
@@ -178,7 +180,8 @@ const sendCustomContent = async ({ that, target, type, item, isMulti, targets })
|
|
|
178
180
|
}
|
|
179
181
|
}
|
|
180
182
|
}
|
|
181
|
-
}
|
|
183
|
+
}
|
|
184
|
+
;
|
|
182
185
|
/**
|
|
183
186
|
* 发送每日说
|
|
184
187
|
* @param that
|
|
@@ -186,7 +189,7 @@ const sendCustomContent = async ({ that, target, type, item, isMulti, targets })
|
|
|
186
189
|
* @param item
|
|
187
190
|
* @return {Promise<void>}
|
|
188
191
|
*/
|
|
189
|
-
|
|
192
|
+
async function sendEveryDay({ that, target, item }) {
|
|
190
193
|
let content = "";
|
|
191
194
|
if (item.type === "room") {
|
|
192
195
|
content = await getRoomEveryDayContent(item.memorialDay, item.city, item.endWord);
|
|
@@ -197,7 +200,8 @@ const sendEveryDay = async ({ that, target, item }) => {
|
|
|
197
200
|
console.log("每日说任务开始工作,发送内容:", content);
|
|
198
201
|
await delay(1000);
|
|
199
202
|
await target.say(content);
|
|
200
|
-
}
|
|
203
|
+
}
|
|
204
|
+
;
|
|
201
205
|
/**
|
|
202
206
|
* 发送倒计时
|
|
203
207
|
* @param that
|
|
@@ -207,7 +211,7 @@ const sendEveryDay = async ({ that, target, item }) => {
|
|
|
207
211
|
* @param targets 发送的多个目标
|
|
208
212
|
* @return {Promise<void>}
|
|
209
213
|
*/
|
|
210
|
-
|
|
214
|
+
async function sendCountDown({ that, target, item, isMulti, targets }) {
|
|
211
215
|
let content = await getCountDownContent(item.memorialDay, item.prefix, item.suffix, item.endWord);
|
|
212
216
|
console.log("倒计时任务开始工作,发送内容:", content);
|
|
213
217
|
await delay(1000);
|
|
@@ -230,7 +234,8 @@ const sendCountDown = async ({ that, target, item, isMulti, targets }) => {
|
|
|
230
234
|
}
|
|
231
235
|
}
|
|
232
236
|
}
|
|
233
|
-
}
|
|
237
|
+
}
|
|
238
|
+
;
|
|
234
239
|
/**
|
|
235
240
|
* 立即发送群消息
|
|
236
241
|
* @param {*} that bot对象
|
package/dist/esm/src/task/rss.js
CHANGED
|
@@ -7,7 +7,12 @@ import { getPuppetEol } from "../const/puppet-type.js";
|
|
|
7
7
|
import dayjs from "dayjs";
|
|
8
8
|
async function getRssContent(info) {
|
|
9
9
|
try {
|
|
10
|
-
const parser = new rssParser(
|
|
10
|
+
const parser = new rssParser({
|
|
11
|
+
requestOptions: {
|
|
12
|
+
rejectUnauthorized: false,
|
|
13
|
+
},
|
|
14
|
+
headers: { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36' },
|
|
15
|
+
});
|
|
11
16
|
console.log('订阅源:' + info.rssUrl);
|
|
12
17
|
const feed = await parser.parseURL(info.rssUrl);
|
|
13
18
|
const lastItem = await getRssHistoryById(info.id);
|
|
@@ -15,7 +20,7 @@ async function getRssContent(info) {
|
|
|
15
20
|
if (feed.items && feed.items.length) {
|
|
16
21
|
// 当存在历史推送记录 需要判读是否推送过
|
|
17
22
|
const last = feed.items[0];
|
|
18
|
-
const lastContent = last.link;
|
|
23
|
+
const lastContent = last.link || last.title;
|
|
19
24
|
if (lastItem) {
|
|
20
25
|
if (lastContent !== lastItem.lastContent) {
|
|
21
26
|
const content = await setContent(last, info);
|
|
@@ -43,7 +48,7 @@ async function setContent(feed, info) {
|
|
|
43
48
|
return [res];
|
|
44
49
|
}
|
|
45
50
|
else {
|
|
46
|
-
const content = `${info.prefixWord ? info.prefixWord + eol + eol : ''}${delHtmlTag(feed.title)}${eol}${eol}【摘要】:${delHtmlTag(feed.content).substring(0,
|
|
51
|
+
const content = `${info.prefixWord ? info.prefixWord + eol + eol : ''}${delHtmlTag(feed.title)}${eol}${eol}【摘要】:${delHtmlTag(feed.content).substring(0, 1500)}...${eol}【链接】:${feed.link}${eol}${eol}${info.suffixWord || ''}`;
|
|
47
52
|
return [{ type: 1, content: content }];
|
|
48
53
|
}
|
|
49
54
|
}
|
|
@@ -101,7 +106,7 @@ async function setTask(that, item, name, callback) {
|
|
|
101
106
|
* @param item
|
|
102
107
|
* @return {Promise<void>}
|
|
103
108
|
*/
|
|
104
|
-
|
|
109
|
+
async function sendRssContent({ that, target, item }) {
|
|
105
110
|
const replys = await getRssContent(item);
|
|
106
111
|
for (let reply of replys) {
|
|
107
112
|
console.log("检测到rss内容更新,开始发送:", `${reply.type === 1 ? reply.content : reply.url}`);
|
|
@@ -113,7 +118,7 @@ const sendRssContent = async ({ that, target, item }) => {
|
|
|
113
118
|
await contactSay.call(that, target, reply);
|
|
114
119
|
}
|
|
115
120
|
}
|
|
116
|
-
}
|
|
121
|
+
}
|
|
117
122
|
/**
|
|
118
123
|
* 立即发送rss消息
|
|
119
124
|
* @param {*} that bot对象
|
|
@@ -144,6 +149,7 @@ export async function initRssTask(that) {
|
|
|
144
149
|
try {
|
|
145
150
|
cancelAllSchedule("task_rss");
|
|
146
151
|
const rssTasks = await getAllRssConfig(); // 获取配置信息
|
|
152
|
+
console.log(`获取到 rss 任务 :${rssTasks.length}个`);
|
|
147
153
|
// 每日说定时任务
|
|
148
154
|
if (rssTasks && rssTasks.length > 0) {
|
|
149
155
|
rssTasks.forEach((item, index) => {
|