RobotRSS - A Telegram RSS Bot
Description
RobotRSS is an RSS Bot for the Telegram Messenger. Subscribe to different news channels and stay up-to-date. Receive instant messages in your Messenger app when websites are updated, e. g. on news pages, blogs or audio/video logs.
The latest stable release and release notes can be found here.
Deploy to Heroku:
Usage
RobotRSS has an easy-to-use user interface to get started. Write the official @RobotRssBot via telegram. Use the following commands to manage your subscriptions:
Controls
/start
- Activates the bot. If you have subscribed to RSS feeds, you will receive news from now on
/stop
- Deactivates the bot. You won't receive any messages from the bot until you activate the bot again using the start comand
RSS Management
/add <url> <entryname>
- Adds a new subscription to your list.
/remove <entryname>
- Removes an exisiting subscription from your list.
/get <entryname> [optional: <count 1-10>]
- Manually parses your subscription, sending you the last elements.
/list
- Shows all your subscriptions as a list.
Other
/about
- Shows some information about RobotRSS Bot
/help
- Shows the help menue
Feature Request and Contributing
You have suggestions for improvements or features you miss? You are welcome to express all your wishes here. Just create a new Issue and it will be taken care of quickly!
If you are a developer yourself, you can also contribute code! Further information will follow shortly.
Installation
The source code of RobotRSS is Open Source and openly accessible and editable. If you would like to use your own bot as newsfeed reader, you will find everything you need to install it here. It is recommended to run the bot in a docker container. You can find the latest, stable Docker Image on Dockerhub. If you make changes to the source code, you can easily create a new image of your version using the dockerfile located in the project folder.
Create a credentials file
First, you must tell RobotRSS which bot the service is allowed to communicate with. Create a new telegram bot or use an existing one. All you need is the Bot's Token
from Telegram. You can receive one from Telegrams Botfather.
Edit the credentials.json
file located at /resources/credentials.json
.
{
"telegram_token": "INSERT TOKEN",
"update_interval": 300
}
Install Dependencies using pip
You can easily install all needed Dependencies using pip
. Navigate into the project directory and run pip install -r requirements.txt
. If you prefer installing all Dependencies manually you can find a detailed list of all needed packages at the "Dependencies" Section at the bottom of the page.
Create a Docker Image
You can easily run RobotRSS inside a Docker Container. The Dockerfile can be found in the project directory. Run docker build --tag "RobotRSS:latest" .
to create a new Docker Image based on the current code.
You can also pull the latest image from Dockerhub using docker pull cynthek/RobotRSS:latest
.
To start your docker container use the following commands, passing BOT_TOKEN
and optional UPDATE_INTERVAL
environment variable to the container:
docker run -itd --name "your-container-name" -e BOT_TOKEN="Enter your token" robotrss:latest
# or use
docker run -itd --name "your-container-name" -e BOT_TOKEN="Enter your token" -e UPDATE_INTERVAL=<Number in Minutes> robotrss:latest
UPDATE_INTERVAL
is set to 300 per default, updating feeds of subscribers every 5 minutes (300 sec).
Python Version
RobotRSS has been successfully tested with Python 2.7 .
Dependencies
All Dependencies can be found in the requirements.txt
file in the project directory.
Motivation
This script was originally developed by Christian Bargmann for practice purposes with Python.