This bot allows users to manage RSS feeds and receive updates via Telegram. Users can add, list, and delete RSS feeds. The bot periodically checks for updates and sends new entries to users' chat or a specified channel.
- Add RSS Feeds: Users can add RSS feed URLs to receive updates (including YouTube channels).
- List RSS Feeds: Users can list their added RSS feeds.
- Delete RSS Feeds: Users can remove RSS feed URLs from their list.
- Automatic Updates: The bot checks RSS feeds for updates at customizable intervals.
- Customizable Update Interval: Users can set their preferred update frequency.
- Manual Feed Check: Users can manually trigger the feed check process.
/start: Register the bot and set the channel for RSS updates if the command is issued in a group or channel./add <RSS_feed_url>: Add an RSS feed URL to receive updates (for example/add https://reddit.com/r/europe.rssor/add https://youtube.com/@IntoEurope)/list: List all added RSS feeds./delete <RSS_feed_url>: Delete a specified RSS feed URL./check: Manually trigger an RSS feed check for updates./update <minutes>: Set the update interval for RSS feed checks.
- Add functionality to work within channels.
- Integrate database structure instead of
.json.
-
Clone the repository:
git clone https://github.com/KristjanPikhof/Telegram-RSS-Bot.git
-
Fill the
.envfile with your information:TELEGRAM_BOT_TOKEN=your_telegram_bot_token YOUTUBE_API_KEY=your_google_console_api_key -
Install the required dependencies:
pip install -r requirements.txt
-
Run the bot:
python main.py
aiohttpfeedparserpython-telegram-botpython-dotenvschedule
The bot uses Python's logging module to log important information and errors. Logs are printed to the console with timestamps.
user_feeds.json: Stores user RSS feeds.posted_entries.json: Tracks posted entries to avoid duplicates.user_settings.json: Stores user-specific settings like update intervals.
Feel free to contribute to this project by opening issues or submitting pull requests!