Skip to main content

Fetch rss and send the latest update to telegram.

Project description

Telegram RSS

PyPi Package Version Supported Python versions LICENSE Wiki Page pre-commit Mypy

Fetch rss and send the latest update to telegram. This project is still in active development

Usage

Setup

  • Make sure you have python installed.
  • Open command line.
  • Install pip install --upgrade telegram-rss
  • Run python -m telegram_rss
  • Add bot token, feeds, user's id, and/or channel's id inside telegram-rss/config.toml
  • Run python -m telegram_rss update to send initial update (use personal id to send initial update)

If your system support entry_points, you can execute python -m telegram_rss with telegram-rss.

Checking update

Run python -m telegram_rss update to check and send the latest feeds

Example config

bot_token = "987654321:ASDASDASD-1sda2eas3asd-91sdajh28j"
env_token = "TOKEN"
users = [ 123456789,]
channels = [ -123456789,]
groups = [ 1234567890,]
web_page_preview = true
message_delay = 0.05
read_more_button = "Read more"

[[feeds]]
name = "Feed example online"
source = "http://feedparser.org/docs/examples/atom10.xml"
footer_link = "http://feedparser.org/docs/"
channels = [ -123456789,]
only_today = true

[[feeds]]
name = "Feed example local"
source = "c:\\incoming\\atom10.xml"
save_bandwith = false
only_today = false
users = [ 987654321,]
groups = [ 111111111,]
footer = false

[template_data]
author = "Author"
source = "Source"
  • Send feed if published today (when we checked) only_today = true.
  • Disable web preview in chat by web_page_preview = false.
  • If you don't want read_more_button under the message, set read_more_button = "".
  • Don't set message_delay too low, it can be detected as spam.

Template

template.html is loaded using jinja2, Learn more. Default template is

<a href="{{ entry.link }}">{{ entry.safe_title }}</a>
<i>{{ author }}</i>: <b>{{ entry.author }}</b>
{{ entry.safe_description }}
<i>{{ source }}</i>: <a href="{{ channel.link }}">{{ channel.safe_title }}</a>

More about objects in template

How to get token

Just create a new bot account using @BotFather. Don't forget to add the bot as channel's admin

How to get ids

Send / forward a message (user or channel) to @JsonDumpBot

Template objects

entry

class Entry:
    title: str
    link: str
    description: str
    author: str
    published: Optional[str]
    time: Optional[datetime]
    safe_title: str
    safe_description: str

channel

class Channel:
    title: str
    link: str
    description: str
    safe_title: str
    safe_description: str

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telegram-rss-0.8.1.tar.gz (11.4 kB view hashes)

Uploaded Source

Built Distribution

telegram_rss-0.8.1-py3-none-any.whl (14.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page