对于热衷二次元创作的爱好者来说,及时获取关注画师的最新作品是实现高质量内容消费的关键。传统的手动刷新方式效率低下,本文将分享通过Telegram Bot+Node.js+RSS实现的自动化解决方案。
系统搭建核心思路
- 通过RSSHub获取画师更新数据流
- 使用正则表达式处理作品信息
- 通过Telegram Bot搭建推送渠道
- 实现图片分级推送策略
技术实现全解析
数据源采集方案
推荐使用RSSHub提供的Pixiv订阅接口,搭配rss-parser
组件简化XML解析流程:
bash
npm install rss-parser –save
javascript
const Parser = require(‘rss-parser’);
const parser = new Parser();
async function getFeed(rssURL) {
return parser.parseURL(rssURL);
}
多媒体处理技巧
采用双路径策略解决Telegram图片限制:
javascript
const picIdReg = /https:\/\/pixiv.cat\/(\d+)-?(\d+)?.(jpg|png|gif)/gi;
function generatePreviewUrl(artworkData) {
const publishDate = new Date(artworkData.isoDate);
return “;
}
消息推送配置
通过Telegram Bot API实现智能交互:
javascript
const apiBaseUrl = https://api.telegram.org/bot${BOT_TOKEN}
;
async function sendTelegramPhoto(chatId, previewUrl, caption) {
await got.post(‘sendPhoto’, {
prefixUrl: apiBaseUrl,
json: {
chat_id: chatId,
photo: previewUrl,
caption: caption,
reply_markup: {
inline_keyboard: [[
{ text: ‘查看原图’, url: artworkUrl },
{ text: ‘立即下载’, url: downloadUrl }
]]
}
}
});
}
部署与优化建议
推荐使用PM2进行进程管理:
bash
pm2 start bot.js –name pixiv-tracker
技术亮点总结
- 智能过滤多图作品
- 自动生成预览缩略图
- 支持批量异步推送
- 内置5秒请求间隔
系统采用YAML配置文件管理认证信息,建议设置定时任务每小时轮询RSS更新。通过维护时间戳记录最新推送记录,避免重复消息的产生。