<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Automation - Tag - Vindrin</title><link>https://vindrin.top/tags/automation/</link><description>Automation - Tag - Vindrin</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>vindrin@outlook.com (Vindrin)</managingEditor><webMaster>vindrin@outlook.com (Vindrin)</webMaster><lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://vindrin.top/tags/automation/" rel="self" type="application/rss+xml"/><item><title>RSS Reader Bot</title><link>https://vindrin.top/project/rss-reader-bot/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>vindrin@outlook.com (Vindrin)</author><guid>https://vindrin.top/project/rss-reader-bot/</guid><description><![CDATA[<h1 id="rss-reader-bot">RSS Reader Bot</h1>
<p>A Telegram bot that pulls from your RSS subscriptions and sends you a daily digest.</p>
<h2 id="problem">Problem</h2>
<p>I follow 15+ blogs and news sources. I got tired of checking each site manually. One bot, one message per day.</p>
<h2 id="architecture">Architecture</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">RSS feeds → Parser → Deduplication → Digest formatter → Telegram Bot API</span></span></code></pre></div></div>
<h2 id="key-features">Key features</h2>
<ul>
<li>Add/remove feeds via bot commands (<code>/add</code>, <code>/remove</code>, <code>/list</code>)</li>
<li>Daily digest at a configured time</li>
<li>Mark articles as read</li>
<li>Filter by keyword</li>
</ul>
<h2 id="setup">Setup</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">pip install feedparser python-telegram-bot apscheduler
</span></span><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">TELEGRAM_TOKEN</span><span class="o">=</span>your_token_here
</span></span><span class="line"><span class="cl">python bot.py</span></span></code></pre></div></div>
<h2 id="status">Status</h2>
<p><code>v1.0.0</code> — Running in production for 2 months. No issues.</p>]]></description></item></channel></rss>