信任
Systemd
的人,最终……
搭建一个Telegram的RSSBot,可以方便地订阅自己感兴趣的信息源,并实时接收RSS消息推送。
准备Telegram Bot
首先需要申请一个Telegram的机器人,即Bot。在Telegram中找到@BotFather
,开始对话并根据提示创建一个新的Bot即可,在创建过程中生成的API TOKEN
需要记住以便使用。
然后输入mybots
找到刚才创建的Bot并选择,点击Edit Bot
,选择Edit Commands
输入RSSBot的命令:
rss - 显示当前订阅的 RSS 列表,加 raw 参数显示链接
sub - 订阅一个 RSS: /sub http://example.com/feed.xml
unsub - 退订一个 RSS: /unsub http://example.com/feed.xml
unsubthis - 使用此命令回复想要退订的 RSS 消息即可退订, 不支持 Channel
export - 导出为 OPML
安装RSSBot
使用iovxw开源的项目。
选择使用预编译版本以节约时间,Linux版本为musl
静态链接, 无需其他依赖。
1
2
3
apt install unzip
wget https://github.com/iovxw/rssbot/releases/download/v1.4.3/rssbot-v1.4.3-linux.zip
unzip rssbot-v1.4.3-linux.zip
解压完成之后即可运行:
1
./rssbot DATAFILE TELEGRAM-BOT-TOKEN
DATAFILE
为数据库保存路径(JSON文件,无需手动创建)。TELEGRAM-BOT-TOKEN
为刚才创建的机器人对应的Token
。
Systemd配置
为了保证RSSbot持续运行和管理,使用Systemd
进行操作。
执行vi /etc/systemd/system/rssbot.service
,参考以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=A RSS Bot
After=network.target
Wants=network.target
[Service]
Type=simple
WorkingDirectory=/home/rss
ExecStart=/home/rss/rssbot DATAFILE TELEGRAM-BOT-TOKEN
Restart=on-failure
RestartSec=10
User=rss
[Install]
WantedBy=multi-user.target
然后执行:
1
2
3
systemctl daemon-reload
systemctl enable rssbot
systemctl start rssbot
如果需要定时重启等操作,编写对应的Time
文件即可。
Bot命令示例
个人订阅:/sub <RSS 地址>
频道订阅:/sub @channelname <RSS 地址>
查看个人订阅列表:/rss
查看个人订阅列表并显示订阅链接:/rss raw
如果需要把机器人加入频道,则机器人的身份需要为管理员。
Systemd
真香。
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。
本文最后更新时间为:2019-05-29-Wednesday-08:45:53 PM