AI-Powered Football News Aggregator & Telegram Bot
Overview
An automated, multi-source ingestion and broadcasting ecosystem built for football curators. The bot tracks breaking news, updates, and transfer rumors for three specific clubs — Arsenal, Liverpool, and Inter Milan — and delivers them directly to dedicated Telegram channel topics.
To ensure high-quality content delivery, the pipeline employs Google Gemini to summarize long articles into digestible, punchy Telegram posts, and auto-translates non-English social media updates (e.g., from Arabic or Italian journalists) on the fly.
Architectural Highlights & Ingestion Pipeline
To prevent breaking news from being delayed by slow, headless browser execution, the system runs two independent loops:
- The Fast Ingestion Loop (~3 min) — A lightweight, async process that pulls from RSS feeds, Google News, and X (Twitter) accounts. Since tweets and short headlines require no AI processing, they are routed and broadcasted almost instantly.
- The Headless Ingestion Loop (~20 min) — A specialized queue that runs a headless Chromium instance (using DrissionPage) to bypass Cloudflare-protected sports websites (e.g., Telegraph, Mirror, Sky Sports) and scrape full-article contents.
- The TikTok Loop (~10 min) — A media monitor that watches specific creators, downloads new clips via yt-dlp, processes them using ffmpeg, and broadcasts them as native autoplay videos along with top liked comments.
Control Panel & Admin Tools
Instead of modifying configurations in files, the bot exposes a complete Telegram Admin Panel allowing administrators to:
- Add or remove news sources (RSS feeds, X handles, TikTok creators).
- Manage club-relevance keyword lists to filter out off-topic articles.
- Run dry-runs on specific URLs to test scraping templates.
- Update X cookies/session credentials directly from the chat.
- Launch the X Lead Finder tool to discover high-follower football accounts and export them to Excel.
Stack
Python · Telegram Bot API · Google Gemini API · DrissionPage · SQLite · yt-dlp · ffmpeg · Docker · Asyncio
Outcome
The bot maintains strict 24-hour freshness and filters out duplicate news entries by hashing unique source IDs. It serves as a fully autonomous news channel operator, handling ingestion, filtering, summarization, translation, and media formatting with zero daily human intervention.