Skip to main content

Forward links from RSS/Atom feeds to messengers

Project description

FeedForBot

PyPI PyPI Docker Pulls PyPI

Forward links from RSS/Atom feeds to messengers

Installation

pip install feedforbot -U

Usage

From code

import asyncio

from feedforbot import Scheduler, TelegramBotTransport, RSSListener


def main():
  loop = asyncio.new_event_loop()
  asyncio.set_event_loop(loop)
  scheduler = Scheduler(
    '* * * * *',
    listener=RSSListener('https://www.debian.org/News/news'),
    transport=TelegramBotTransport(
      token='123456789:AAAAAAAAAA-BBBB-CCCCCCCCCCCC-DDDDDD',
      to='@channel',
    )
  )
  scheduler.run()
  loop.run_forever()

if __name__ == '__main__':
  main()

CLI

Save to file config.yml data

---
cache:
  type: 'files'
schedulers:
  - listener:
      type: 'rss'
      params:
        url: 'https://habr.com/ru/rss/all/all/?fl=ru'
    transport:
      type: 'telegram_bot'
      params:
        token: '123456789:AAAAAAAAAA-BBBB-CCCCCCCCCCCC-DDDDDD'
        to: '@tmfeed'
        template: |-
          <b>{{ TITLE }}</b> #habr
          {{ ID }}
          <b>Tags</b>: {% for category in CATEGORIES %}{{ category }}{{ ", " if not loop.last else "" }}{% endfor %}
          <b>Author</b>: <a href="https://habr.com/users/{{ AUTHORS[0] }}">{{ AUTHORS[0] }}</a>
  - listener:
      type: 'rss'
      params:
        url: 'https://habr.com/ru/rss/news/?fl=ru'
    transport:
      type: 'telegram_bot'
      params:
        token: '123456789:AAAAAAAAAA-BBBB-CCCCCCCCCCCC-DDDDDD'
        to: '@tmfeed'
        template: |-
          <b>{{ TITLE }}</b> #habr
          {{ ID }}
          <b>Tags</b>: {% for category in CATEGORIES %}{{ category }}{{ ", " if not loop.last else "" }}{% endfor %}
  - listener:
      type: 'rss'
      params:
        url: 'http://www.opennet.ru/opennews/opennews_all.rss'
    transport:
      type: 'telegram_bot'
      params:
        token: '123456789:AAAAAAAAAA-BBBB-CCCCCCCCCCCC-DDDDDD'
        to: '@tmfeed'
        disable_web_page_preview: yes
        template: |-
          <b>{{ TITLE }}</b> #opennet
          {{ URL }}

          {{ TEXT }}

Start script

feedforbot --verbose config.yml

Docker

Docker Hub

docker run shpaker/feedforbot --help

GHCR

docker run ghcr.io/shpaker/feedforbot --help

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

feedforbot-3.3.5.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

feedforbot-3.3.5-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file feedforbot-3.3.5.tar.gz.

File metadata

  • Download URL: feedforbot-3.3.5.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.15 Linux/6.5.0-1025-azure

File hashes

Hashes for feedforbot-3.3.5.tar.gz
Algorithm Hash digest
SHA256 515d73d0e0de58622fc649e6d3218cb155caa1649f7c6590df1552fa17990004
MD5 66cdcb0763ea6001c245ba81efad6d43
BLAKE2b-256 741e36e6e75148573a2c55dab68bb12fc4576835e07a059e204e3c4110328c0c

See more details on using hashes here.

File details

Details for the file feedforbot-3.3.5-py3-none-any.whl.

File metadata

  • Download URL: feedforbot-3.3.5-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.15 Linux/6.5.0-1025-azure

File hashes

Hashes for feedforbot-3.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3f93ecae580dad79c5f7815f3844799534c783bb61e5cd18cc1d03b89f65d7da
MD5 5363a6ab9cbc54a196f4fe5db7e4f874
BLAKE2b-256 6c4047bef9586e8b56dd1da804602caf12e2b8dfaa8dd67bfcc735571ec41d1d

See more details on using hashes here.

Supported by

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