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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file telegram-rss-0.8.1.tar.gz.

File metadata

  • Download URL: telegram-rss-0.8.1.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.5 CPython/3.7.10 Linux/5.4.0-1040-azure

File hashes

Hashes for telegram-rss-0.8.1.tar.gz
Algorithm Hash digest
SHA256 c727072f801ecf2b1c42de6db37fc6f65209ca600e954b2961ea7cdf94aa31a6
MD5 56a89c74cb02704e0e78ceedeac2c8d0
BLAKE2b-256 9851c6462b3522e217c401e9529f692d0078575ac2b8f2c01c1bc458ff5d2a71

See more details on using hashes here.

File details

Details for the file telegram_rss-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: telegram_rss-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.5 CPython/3.7.10 Linux/5.4.0-1040-azure

File hashes

Hashes for telegram_rss-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e40f8135b312c2733395b799caa746812749be07b7403f9e7cae13e59ea2c553
MD5 60329c230f8ce4527eb5c4ca6485cd7b
BLAKE2b-256 eb47110c1c7c46adf1d402c4fd8a51a9187b599b6c8129d64e8ebd6d3491f167

See more details on using hashes here.

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