优化正则

This commit is contained in:
Jerry 2025-05-17 12:28:29 +08:00
parent c8ac53586e
commit c870d6605e

View File

@ -23,14 +23,16 @@ export default class RssPlugin extends plugin {
permission: 'master', permission: 'master',
}, },
{ {
reg: '^#rss拉取 (https?:\/\/[^\s]+)$', reg: '^#rss拉取(.+)$',
fnc: 'pullFeedNow', fnc: 'pullFeedNow',
permission: 'master', permission: 'master',
priority: 100,
}, },
{ {
reg: /(https?:\/\/[^\s]+(?:\.atom|\/feed))/i, reg: /(https?:\/\/[^\s]+(?:\.atom|\/feed))/i,
fnc: 'autoAddFeed', fnc: 'autoAddFeed',
permission: 'master', permission: 'master',
priority: 500,
}, },
], ],
task: [ task: [
@ -74,7 +76,7 @@ export default class RssPlugin extends plugin {
* @returns {Promise<*|boolean>} * @returns {Promise<*|boolean>}
*/ */
async autoAddFeed(e) { async autoAddFeed(e) {
if (/^#rss/i.test(e.msg.trim())) return false; //if (/^#rss/i.test(e.msg.trim())) return false;
const url = e.msg.match(/(https?:\/\/[^\s]+(?:\.atom|\/feed))/i)?.[1]; const url = e.msg.match(/(https?:\/\/[^\s]+(?:\.atom|\/feed))/i)?.[1];
if (!url) return false; if (!url) return false;
e.msg = `#rss添加 ${url}`; e.msg = `#rss添加 ${url}`;
@ -104,14 +106,16 @@ export default class RssPlugin extends plugin {
* @returns {Promise<*>} * @returns {Promise<*>}
*/ */
async pullFeedNow(e) { async pullFeedNow(e) {
const url = e.msg.replace(/^#rss拉取\s*/, '').trim(); const url = e.msg.replace(/^#rss拉取/, '').trim();
const latest = await rssTools.fetchFeed(url); const latest = await rssTools.fetchFeed(url);
//logger.info(latest);
if (!latest || !latest.length) { if (!latest || !latest.length) {
return e.reply('拉取失败或无内容..', true); return e.reply('拉取失败或无内容..', true);
} }
const post = latest[0]; const post = latest[0];
//console.log(post);
const tempPath = path.join(process.cwd(), 'data', `rss-test-${Date.now()}.png`); const tempPath = path.join(process.cwd(), 'data', `rss-test-${Date.now()}.png`);
await screenshot.generateScreenshot(post, tempPath); await screenshot.generateScreenshot(post, tempPath);
await e.reply([segment.image(tempPath)]); await e.reply([segment.image(tempPath)]);