{"id":28562132,"url":"https://github.com/daquino94/rss-telegram","last_synced_at":"2026-03-10T19:35:11.238Z","repository":{"id":292940966,"uuid":"981556150","full_name":"daquino94/rss-telegram","owner":"daquino94","description":"A Python bot that monitors RSS feeds and sends notifications to a Telegram chat when new content is published. The bot checks feeds at regular intervals, keeps track of which items have already been sent, and groups notifications by feed source for better readability.","archived":false,"fork":false,"pushed_at":"2025-05-14T21:56:37.000Z","size":22,"stargazers_count":21,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-10T12:08:01.708Z","etag":null,"topics":["rss","rss-feed","telegram","telegram-bot","telegram-channel"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daquino94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-11T11:33:07.000Z","updated_at":"2025-05-29T21:12:43.000Z","dependencies_parsed_at":"2025-05-12T23:42:22.765Z","dependency_job_id":null,"html_url":"https://github.com/daquino94/rss-telegram","commit_stats":null,"previous_names":["daquino94/rss-telegram"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/daquino94/rss-telegram","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daquino94%2Frss-telegram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daquino94%2Frss-telegram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daquino94%2Frss-telegram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daquino94%2Frss-telegram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daquino94","download_url":"https://codeload.github.com/daquino94/rss-telegram/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daquino94%2Frss-telegram/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30350216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rss","rss-feed","telegram","telegram-bot","telegram-channel"],"created_at":"2025-06-10T12:01:58.084Z","updated_at":"2026-03-10T19:35:11.229Z","avatar_url":"https://github.com/daquino94.png","language":"Python","funding_links":["https://buymeacoffee.com/balsamic9239"],"categories":["Python"],"sub_categories":[],"readme":"# RSS to Telegram Bot\n\nA Python bot that monitors RSS feeds and sends notifications to a Telegram chat when new content is published. The bot checks feeds at regular intervals, keeps track of which items have already been sent, and groups notifications by feed source for better readability.\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoffee.com/balsamic9239)\n\n\n## Features\n\n- 📊 Monitors multiple RSS feeds from a simple text configuration file\n- 📱 Sends notifications directly to a Telegram chat or channel\n- 🔄 Configurable check interval\n- 📦 Maintains history of sent items to avoid duplicates\n- 📝 Groups notifications by feed source\n- 🐳 Easy deployment with Docker\n\n## How It Works\n\nThe bot:\n1. Reads RSS feed URLs from a configuration file\n2. Periodically checks each feed for new content\n3. Compares entries against a history of previously sent items\n4. Groups new content by feed source\n5. Sends formatted notifications to Telegram\n6. Updates the history file with newly sent items\n\n## Installation\n\n### Prerequisites\n\n- Python 3.8+ (for local installation)\n- Docker (for Docker installation)\n- A Telegram bot token (get one from [@BotFather](https://t.me/BotFather))\n- Your Telegram chat ID (you can use [@userinfobot](https://t.me/userinfobot))\n\n### Option 1: Local Installation\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/daquino94/rss-telegram.git\n   cd rss-telegram\n   ```\n\n2. Install required dependencies:\n   ```bash\n   pip install feedparser python-telegram-bot==20.7 requests\n   ```\n\n3. Create a data directory and feeds file:\n   ```bash\n   mkdir -p data\n   echo \"# Add your RSS feeds below, one per line\" \u003e data/feeds.txt\n   ```\n\n4. Add your RSS feed URLs to `data/feeds.txt`:\n   ```\n   https://example.com/feed.xml\n   https://anotherblog.com/rss\n   ```\n\n5. Run the bot:\n   ```bash\n   TELEGRAM_BOT_TOKEN=\"your_bot_token\" TELEGRAM_CHAT_ID=\"your_chat_id\" python rss_telegram.py\n   ```\n\n### Option 2: Docker Installation (Local Build)\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/daquino94/rss-telegram.git\n   cd rss-telegram\n   ```\n\n2. Create a data directory and feeds file:\n   ```bash\n   mkdir -p data\n   echo \"# Add your RSS feeds below, one per line\" \u003e data/feeds.txt\n   ```\n\n3. Add your RSS feed URLs to `data/feeds.txt`.\n\n4. Run the Docker container:\n   ```bash\n   docker build -t rss-telegram .\n   docker run -d \\\n     --name rss-telegram \\\n     -e TELEGRAM_BOT_TOKEN=\"your_bot_token\" \\\n     -e TELEGRAM_CHAT_ID=\"your_chat_id\" \\\n     -e INCLUDE_DESCRIPTION=\"true\" \\\n     -e DISABLE_NOTIFICATION=\"false\" \\\n     -e CHECK_INTERVAL=3600 \\\n     -v $(pwd)/data:/app/data \\\n     rss-telegram\n   ```\n\n### Option 3: Docker Hub Installation\n\n1. Create a directory for your data and configuration:\n   ```bash\n   mkdir -p rss-telegram/data\n   cd rss-telegram\n   echo \"# Add your RSS feeds below, one per line\" \u003e data/feeds.txt\n   ```\n\n2. Add your RSS feed URLs to `data/feeds.txt`.\n\n3. edit a docker-compose.yml with your bot token and your chat id or channel name (with @channelName)\n\n4. Update the environment variables in docker-compose.yml with your Telegram bot token and chat ID.\n\n5. Run the container:\n   ```bash\n   docker-compose up -d\n   ```\n\n   Or manually:\n   ```bash\n   docker run -d \\\n     --name rss-telegram \\\n     -e TELEGRAM_BOT_TOKEN=\"your_bot_token\" \\\n     -e TELEGRAM_CHAT_ID=\"your_chat_id\" \\\n     -e INCLUDE_DESCRIPTION=\"true\" \\\n     -e DISABLE_NOTIFICATION=\"false\" \\\n     -e CHECK_INTERVAL=3600 \\\n     -v $(pwd)/data:/app/data \\\n      asterix94/rss-telegram:latest\n   ```\n\n## Configuration\n\nThe bot can be configured using environment variables:\n\n| Environment Variable | Description | Default |\n|---------------------|-------------|---------|\n| `TELEGRAM_BOT_TOKEN` | Your Telegram bot token | Required |\n| `TELEGRAM_CHAT_ID` | Your Telegram chat or channel ID | Required |\n| `DISABLE_NOTIFICATION` | Disable telegram notification | false | \n| `INCLUDE_DESCRIPTION` | Include description in the message | false | \n| `CHECK_INTERVAL` | Time in seconds between feed checks | 3600 (1 hour) |\n| `FEEDS_FILE` | Path to the file containing RSS feed URLs | /app/data/feeds.txt |\n\n## Data Persistence\n\nThe bot stores two important files in the `/app/data` directory:\n\n- `feeds.txt`: List of RSS feed URLs to monitor\n- `sent_items.json`: History of already sent items (to avoid duplicates)\n\nWhen using Docker, make sure to mount this directory as a volume to ensure data persistence between container restarts.\n\n## Logs\n\nWhen running with Docker, logs are stored using the json-file driver with rotation (max 3 files of 10MB each). You can view logs with:\n\n```bash\ndocker logs rss-telegram\n```\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaquino94%2Frss-telegram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaquino94%2Frss-telegram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaquino94%2Frss-telegram/lists"}