• This repository has been archived on 04/Oct/2022
  • Stars
    star
    192
  • Rank 202,019 (Top 4 %)
  • Language
    Python
  • License
    Mozilla Public Li...
  • Created about 7 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A clean and easy to use RSS Newsfeed Bot for fabulous Telegram Messenger App! 🤖 ✉️ ❤️

RobotRSS - A Telegram RSS Bot

RobotRss Logo

Github python Github python GitHubissues GitHub license

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:

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.

More Repositories

1

promcheck

A tool and exporter to identify faulty Prometheus rules
Go
82
star
2

githubevents

GitHub webhook events toolset for Go 🚀
Go
71
star
3

go-t

A blazing-fast, simple and easy to use command-line client for Twitter written in Go. 🚀📨
Go
70
star
4

clickbaiter

Generates clickbait tech headlines. Don't ask why.
Go
41
star
5

mastodon-github-action

Use this Action to send a toot (message) from a GitHub actions workflow to Mastodon.
Go
34
star
6

structuresmith

Validate, Diff, Render - A powerful tool designed to automate the generation of project files using customizable templates.
Go
30
star
7

terraform-k8s-hetzner

Launch a single-master kubernetes cluster with any number of workers in the Hetzner Cloud. 🚀
HCL
16
star
8

7days-docker

Docker Image for running a 7 Days To Die dedicated Gameserver in a Container!
Dockerfile
14
star
9

cmangos-docker

Dockerized World of Warcraft WOTLK server based on cMANGOS
Shell
13
star
10

gh-fused

Collection of powerful aliases to speed up interactions with GitHub issues, PRs and more! 🚀
Shell
9
star
11

go-workshop

Golang Workshop @ HAW Hamburg
Go
9
star
12

telegram-github-action

Send (text) messages to a Telegram chat from GitHub Actions
Makefile
8
star
13

valheim-docker

Valheim Docker dedicated gameserver in a container
Dockerfile
8
star
14

pr-size-labeler-action

Automatically labels pull requests in your GitHub repository based on the size of changes.
Go
7
star
15

cleanup-stale-branches-action

Use this Action to cleanup stale / abandoned branches in your GitHub repository
Go
7
star
16

go-dither

Go
7
star
17

kubernetes-rbac-groups

Full list of all available default kubernetes api groups including resources. Helper for building RBAC Roles
7
star
18

slo-cue

Generate Prometheus alerting & recording rules for SLOs using CUE.
CUE
7
star
19

authproxy

A Kubernetes compatible webhook authentication proxy framework and clientset
Go
7
star
20

dotfiles

Shell
5
star
21

awsacc

Lookup or replace AWS account IDs with their names and vice versa
Go
4
star
22

authproxy-ldap

A Kubernetes compatible webhook authentication proxy for LDAP
Go
4
star
23

sync-secrets-action

Sync Repository, Dependabot and Codespaces secrets + variables between GitHub repositories
Go
3
star
24

pxl

A small utility written in Go to generate pixelart from PNG images.
Go
3
star
25

avorion-docker

Docker image for running an "Avorion" dedicated server in a container!
Makefile
3
star
26

tcplatency

Command-line tool and go module to measure latency using TCP.
Go
3
star
27

ansible-pi3cluster-playbooks

My Ansible playbooks for setting up a Kubernetes Raspberry Pi 3 cluster as described in my blog post
Shell
3
star
28

designpatterns

Eine Sammlung diverser Entwurfsmuster in Java, mit Programmbeispielen aus diversen Java Fachbuechern
Java
3
star
29

semver-bump-action

Stable and fast action to automatically bump the given semver version up.
Go
3
star
30

cloudburst

Prototype distributed architecture for an autoscaler for cloud bursting
Go
2
star
31

cbrgm

My personal status page
JavaScript
2
star
32

countdown.nvim

Dead-simple countdown timer for NeoVim (~100 LoC)
Lua
2
star
33

opsgenie-exporter

Prometheus Exporter for Atlassian Opsgenie
Go
2
star
34

rathena-docker

Shell
2
star
35

devfest2022

Slides and Content for the Go Beginners Workshop
HTML
2
star
36

bluesky-github-action

Send posts to Bluesky Social from GitHub Actions
Go
2
star
37

go-find-duplicates-benchmark

Go
1
star
38

k8s-leader-election

Demo service to play around with k8s coordination.k8s.io API
Go
1
star
39

worldgeneration

Implementations of several procedual world generation algorithms in Java
Java
1
star
40

flake-go-example

Nix
1
star
41

pprof-example

HTML
1
star
42

StaticSiteContainer

Files to build containers serving static website content via nginx
Dockerfile
1
star
43

topictool

Batch replace, add or remove Github repository topic labels
Go
1
star
44

cleverwatson

CleverWatson is a great way to have a conversation with CleverBot. IBM Watson Text To Speech converts your messages and CleverBot's replies into natural language to represent a real conversation. Try it yourself!
Python
1
star
45

multiple-codeowners-action

Combines multiple CODEOWNERS files into a single one at a specified location
Go
1
star
46

codegen-example

HTML
1
star