之前曾写过一篇关于《Telegram电报上的新帖推送是如何做的?RSS 订阅推送新帖和使用自动化程序make的使用体验》的博客文章,那时候想给自己搭建的论坛,实现实时推送功能。虽然同样的目的达到了,但是后来发现步骤过于繁琐,真佩服那时折腾的自己。
写在前面
论坛是一种典型的社交平台,很多热点信息、行业动态往往最早就是从论坛中发酵传播的。对于想要第一时间掌握新鲜内容的人来说,关注论坛新帖动态是非常有价值的操作。
我自己经常浏览 NodeSeek 这个论坛。作为一个聚焦互联网、域名、服务器和各种折腾玩法的站点,它的活跃度还算不错,交易区也时不时能刷到有意思的帖子,管理员维护也挺到位。
一、为什么我需要一个自己的 NodeSeek 新帖通知系统
一开始我都是通过 Telegram 上 NodeSeek 的官方频道获取新帖通知,一切看起来还不错。但随着论坛内容逐渐丰富,交易帖越来越多,再加上一些我个人并不太关注的话题,这些内容混杂在通知流中,逐渐开始影响使用体验。


尤其是 Telegram 官方频道的推送,往往带有全文预览,占据大量空间:如果是关注的主题倒也可以接受,但大多数时候,首页刷下来几乎看不到什么我真正感兴趣的内容。
于是我开始思考:能不能只保留标题和一个精简链接?这样一来,消息更干净,如果感兴趣再点进去看详情,不感兴趣也不至于被一大段内容淹没。
既然想到了,那就动手做吧。
我把这个需求交给了 ChatGPT,它提供了三个实现方案,最后推荐的是使用 Python 自建一个 Telegram 通知脚本。这个方案的优势在于:可高度自定义通知格式,可以指定只显示标题、链接,甚至支持关键词过滤、分频道投递等扩展。
在 ChatGPT 的引导下,整个搭建过程非常顺利,基本不需要太多额外配置就能运行起来。以下是只显示标题,和精简过后只剩下帖子 ID 部分,如 327597、327596,点击这些 ID 可以直接打开原贴网页。
点击查看 NodeSeek 新帖推送频道 @noderss(取消链接预览功能,屏蔽:”求”, “收”, “出”、”【出】”, “[收]”, “「只测不评」”, “【收】”相关标题的帖子,提高阅读效率)


下面就是这个 Telegram 新帖精简推送系统的完整搭建过程。如果你也希望为某个论坛或网站设置一个自己的通知频道,只要它支持 RSS,就能快速实现。
二、准备工作:Telegram 机器人、频道和 RSS
为了让 Telegram 能自动推送内容,需要准备:
- Telegram Bot:通过 @BotFather 创建,获取 Bot Token
- Telegram 频道:建议创建一个新的频道(私有共有都可以),并将 Bot 加入其中,设为管理员
- RSS 源:NodeSeek 提供了一个公共 RSS 地址 ➜ https://rss.nodeseek.com/
1、创建 Telegram Bot
- 在 Telegram 找到 @BotFather
- 输入 /newbot 按指引创建
- 获得 Bot Token(如 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)
2、获取 Telegram Channel ID
- 创建一个频道(公开或私密)
- 将你的 Bot 加入频道并设为管理员
- 频道用户名(如:@mychannel)
创建好这些后,就可以开始编写脚本了。
三、利用 Python 脚本实现自动抓取 + 推送功能
在完成上述准备工作之后,就可以在 VPS 上编写 Python 代码,执行这个脚本实现推送功能。任何一个安装了 Python 环境的 VPS 都可以。比如我用一台 Ubuntu 22.04 系统为例。
1、安装 Python 环境
大部分 Linux 系统会提前预装 Python 环境,但有可能版本太旧或有些组件未安装,所以之间执行以下命令来安装最新 Python(以 Ubuntu/Debian 为例):
sudo apt update
sudo apt install python3 python3-pip -y
2、创建 Python 脚本
- 创建一个文件夹(比如叫 rssbot)
- 在其中创建一个名为 rss_bot.py 的文件
- 将下面提供的代码复制粘贴进去
- 别忘了修改以下几项:
- TELEGRAM_BOT_TOKEN = ‘你的Bot Token’
- TELEGRAM_CHAT_ID = ‘@你的频道用户名’
- 别忘了修改以下几项:
import feedparser
import requests
import time
import re
# 配置
RSS_FEED_URL = 'https://rss.nodeseek.com/'
TELEGRAM_BOT_TOKEN = '你的Bot Token'
TELEGRAM_CHAT_ID = '@你的频道用户名' # 或使用频道 ID,如 '-1001234567890'
CHECK_INTERVAL = 60 # 每 1 分钟检查一次
# 记录已发送的文章链接,避免重复发送
sent_links = set()
import re
def send_to_telegram(title, link):
# 提取帖子编号
match = re.search(r'post-(\d+)-', link)
post_id = match.group(1) if match else ''
# 构建带链接的帖子 ID
post_id_link = f"<a href='{link}'>{post_id}</a>"
# 格式化消息:标题 + 链接 ID
text = f"<b>{title}</b>({post_id_link})"
url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
data = {
'chat_id': TELEGRAM_CHAT_ID,
'text': text,
'parse_mode': 'HTML',
'disable_web_page_preview': True
}
requests.post(url, data=data)
def check_rss():
feed = feedparser.parse(RSS_FEED_URL)
for entry in feed.entries:
if entry.link not in sent_links:
send_to_telegram(entry.title, entry.link)
sent_links.add(entry.link)
if __name__ == "__main__":
while True:
try:
check_rss()
except Exception as e:
print(f"Error: {e}")
time.sleep(CHECK_INTERVAL)
3、 安装依赖库
pip3 install feedparser requests
4、运行脚本
进入你的脚本所在文件夹,然后运行:
python3 rss_bot.py
你会看到没有报错,程序会静默运行,并每 1 分钟检查一次 RSS,如果发现新帖子,就会推送到你的 Telegram 频道。
注意:如果想要暂停脚本运行,只需要同时按住键盘上 “Ctrl + C” ,便会停止脚本的运行。如果想要让该脚本在后台自动执行,则需要给该脚本添加后台自动执行的命令。
四、让脚本在后台运行
使用 systemd 服务可以让脚本在后台自动执行。
1、将脚本放到合适位置
比如放到 /opt/rss_bot/rss_bot.py
sudo mkdir -p /opt/rss_bot
sudo mv ~/rss_bot.py /opt/rss_bot/rss_bot.py
sudo chmod +x /opt/rss_bot/rss_bot.py
2、创建 systemd 服务文件
使用编辑器创建服务:
sudo nano /etc/systemd/system/rssbot.service
填入以下内容:
[Unit]
Description=NodeSeek RSS to Telegram Bot
After=network.target
[Service]
ExecStart=/usr/bin/python3 /opt/rss_bot/rss_bot.py
Restart=always
User=root
WorkingDirectory=/opt/rss_bot
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
如果你的 Python3 路径不是 /usr/bin/python3,可以用以下命令查找:
which python3
3、启动服务并设为开机自启
# 重新加载服务配置
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
# 启动 bot 服务
sudo systemctl start rssbot
# 设置开机自动启动
sudo systemctl enable rssbot
4、查看运行状态 / 日志
查看运行状态命令:sudo systemctl status rssbot
查看运行日志命令:journalctl -u rssbot -f
后续更新脚本怎么办?
只要你修改了 /opt/rss_bot/rss_bot.py,记得执行:
sudo systemctl restart rssbot
这样就可以让新版本生效。
总结
目前,这个脚本已经在稳定运行中。相比官方频道,这种“极简推送”方式让我在手机 Telegram 上更快速扫一眼有没有值得点开的新帖,也不容易错过重点。
后续我还打算:
- 加入关键词过滤(比如只推送标题中不含有“出”、“求”、“只测不评”等内容)
- 每天自动汇总标题,交给 AI 分析当天话题趋势,为写博客提供灵感
这就是本文的全部内容,如果你也逛论坛,但不想被一堆无关推送打扰,可以试试自己动手定制 Telegram 新帖通知!
本文标题:将博客域名从 Squarespace 转移至 Cloudflare
本文链接:https://uuzi.net/transfer-domain-from-squarespace-to-cloudflare/
本文标签:Telegram机器人,RSS推送,自动化通知,信息筛选,论坛工具
发布日期:2025年5月2日
更新日期:2025年5月2日
版权声明:兔哥原创内容,版权所有人为本网站作者,请勿转载,违者必究!
免责声明:文中如涉及第三方资源,均来自互联网,仅供学习研究,禁止商业使用,如有侵权,联系24小时内删除!