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.3.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for feedforbot-3.3.3.tar.gz
Algorithm Hash digest
SHA256 ba348b15b49f051edb3541332c6f1cdde3784b09339726db077167477fe9d16b
MD5 1829f3e578f09414c3bfc7c031b569c3
BLAKE2b-256 966317a07e961927b18433402d39e7f31ca97ec1954e4268e696166488884969

See more details on using hashes here.

File details

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

File metadata

  • Download URL: feedforbot-3.3.3-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.13 Linux/6.5.0-1015-azure

File hashes

Hashes for feedforbot-3.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4cd5ebe753bbb1958a745a6621cb6ca5bc55ab0022ef0e6e957a573dd335721e
MD5 74966175e6fc186a0907c66e49c0923a
BLAKE2b-256 50d58b5a37f6152d0ef44aa3b365acaabd9d51d7a1094da22b5e9fb0ef6070ed

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