使用rssbot创建电报RSS订阅机器人,并添加到Telegram频道或群组
介绍
小白一直想给电报频道添加个RSS订阅推送机器人来推送LET站offer区的帖子,找来找去,看到了RustRssBot这机器人,发现官方机器人用户数已满
那就自建个机器人吧,项目地址:https://github.com/iovxw/rssbot
创建新机器人
在Telegarm中,搜索栏粘贴 @botfather
然你就打开了botfarther的聊天对话框,输入
/newbot
回车发送,botfarther会反馈
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
输入你要创建的bot名字。例如zhujiwiki_bot,回车发送
Done! Congratulations on your new bot. ……
Use this token to access the HTTP API:
xxx:xxx
我们还可以给自己的机器人添加个菜单,这一步是非必须的
输入/mybots
找到自己的bot,选择他,然后选择Edit Bot,选择Edit Commands就可以输入你的指令了
例如:
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已编译最新版是v2.0.0-alpha.11:https://github.com/iovxw/rssbot/releases
这两个我们任选一个即可
- mkdir /root/rssbot && cd /root/rssbot
- wget https://github.com/iovxw/rssbot/releases/download/v2.0.0-alpha.11/rssbot-zh-x86_64-unknown-linux-musl-openssl -O rssbot
- chmod +x rssbot
- ./rssbot TELEGRAM–BOT–TOKEN
TELEGRAM-BOT-TOKEN替换为上面申请的HTTP API
这时我们的机器人已经跑起来了,但是我们需要让机器人在后台运行,方法很多。
后台运行机器人
1.使用tmux或screen
2.使用nohup命令
nohup ./rssbot TELEGRAM-BOT-TOKEN > /dev/null 2>&1 &
3.加入systemctl进程守护(终极疗法)
添加RSS订阅机器人到Telegram频道或群组
1、把订阅机器人设为另一个频道的管理员
2、在机器人中发送 /sub @example https://lowendtalk.com/categories/offers/feed.rss
,即可订阅offer专区。
使用示例
订阅
个人订阅(直接对话机器人即可):/sub https://lowendtalk.com/categories/offers/feed.rss
群组订阅(群内发以下信息即可):/sub https://lowendtalk.com/categories/offers/feed.rss
频道订阅(直接对话机器人即可):/sub @example https://lowendtalk.com/categories/offers/feed.rss
退订
个人订阅(直接对话机器人即可):/unsub https://lowendtalk.com/categories/offers/feed.rss
群组订阅(群内发以下信息即可):/unsub https://lowendtalk.com/categories/offers/feed.rss
频道订阅(直接对话机器人即可):/unsub @example https://lowendtalk.com/categories/offers/feed.rss
查看列表
查看个人订阅列表(直接对话机器人即可):/rss
查看群组订阅列表(群内发以下信息即可):/rss
查看频道订阅列表(直接对话机器人即可):/rss @example
显示 RSS 链接
查看个人订阅列表并显示订阅链接(直接对话机器人即可):/rss raw
查看群组订阅列表并显示订阅链接(直接对话机器人即可):/rss raw
查看频道订阅列表并显示订阅链接(直接对话机器人即可):/rss @example raw
实际效果
要将一个命令添加到Systemd的进程守护中,你可以创建一个Systemd服务单元文件,并使用systemctl
命令来管理该服务。在这种情况下,你想将./rssbot XXXXXXXXXXXXXXXXXXX
命令添加到Systemd服务中,同时将其运行在/root/rssbot
目录下。
以下是使用echo
命令创建Systemd服务单元文件的方法:
- 打开终端,使用
echo
命令将服务单元文件的内容添加到一个新文件中:
bashecho "[Unit]
Description=RSS Bot Service
[Service]
Type=simple
ExecStart=/root/rssbot/rssbot 6770332998:XXXXXXXXXXXXXXXXXXXXXXXXXX WorkingDirectory=/root/rssbot
Restart=always
[Install]
WantedBy=multi-user.target" | sudo tee /etc/systemd/system/rssbot.service
这将创建一个名为rssbot.service
的Systemd服务单元文件,将./rssbot 6770332998:AAGCZTlAndxc-Ae_TV3Uz8vsWdlrC1b4IFA
命令添加到服务中,并将其运行在/root/rssbot
目录下。
- 重新加载Systemd服务单元列表:
bashsudo systemctl daemon-reload
- 启用并启动服务:
bashsudo systemctl enable rssbot
sudo systemctl start rssbot
现在,你的RSS Bot服务已经添加到Systemd的进程守护中,可以使用systemctl
来管理它:
- 启动服务:
sudo systemctl start rssbot
- 停止服务:
sudo systemctl stop rssbot
- 重启服务:
sudo systemctl restart rssbot
- 查看服务状态:
sudo systemctl status rssbot
- 启动时自动启用服务:
sudo systemctl enable rssbot
- 禁用服务自动启动:
sudo systemctl disable rssbot
请确保替换命令和目录路径以适应你的实际情况。
评论