{"repo":"nikstar/greader","free":true,"listed":false,"github":"https://github.com/nikstar/greader","clone":"git clone https://github.com/nikstar/greader.git","description":"G Reader is a simple RSS feed reader bot for Telegram","language":"TypeScript","stars":18,"topics":["telegram","bot","rss","telegram-bot"],"license":null,"category":"chat-messaging","readme_excerpt":"G Reader G Reader is a simple RSS feed reader bot for Telegram. Check it out here: @GReaderBot . G Reader was originally made a couple of years ago[^1]. A mini web app to easily manage feed subscriptions was added as part of October 2023 contest . This readme contains helpful information to get you started with your own Telegram web app. A guide to bring up G Reader with Docker is below. [^1]: Release announcement on my blog: https://nikstar.me/post/greader/ Overview G Reader consists of five components: Telegram bot Written in TypeScript. Communicates with Telegram using telegraf.js. Responds to user commands, reports new subscriptions to the crawler, periodically checks the database for feed updates and publishes them. Feed crawler Monitors the database for outdated feeds and crawls them. Can also proactively try to fetch a feed in response to web request. Postgres database Stores users, feeds, subscriptions, and feed update schedule. Telegram mini web app Implemented in vanilla JavaScript. Shows info about current subscriptions, allows unsubscribing, filtering. Web app backend Implemented with node.js and express.js. Mini app Opening the web app . Telegram supports different ways of opening web apps: keyboard button, menu button, via inline mode, attachment menu, from a direct link. G Reader uses an inline button (aka inline keyboard button ), which is a button attached to a chat message. Note that behavior for apps launched from the menu button will be largely the same. I","default_branch":null,"files":null,"tree":[],"storefront":"/r/nikstar","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/nikstar/greader/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}