Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phil-r/hackernewsbot
:newspaper: Telegram bot that posts new hot stories from Hacker News to telegram channel
https://github.com/phil-r/hackernewsbot
bot hacker-news telegram telegram-bot telegram-channel
Last synced: 8 days ago
JSON representation
:newspaper: Telegram bot that posts new hot stories from Hacker News to telegram channel
- Host: GitHub
- URL: https://github.com/phil-r/hackernewsbot
- Owner: phil-r
- License: mit
- Created: 2016-03-19T13:52:15.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-05-01T21:13:25.000Z (over 1 year ago)
- Last Synced: 2024-09-21T00:29:48.079Z (about 2 months ago)
- Topics: bot, hacker-news, telegram, telegram-bot, telegram-channel
- Language: Python
- Homepage: https://t.me/hacker_news_feed
- Size: 48.8 KB
- Stars: 203
- Watchers: 6
- Forks: 25
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-telegram-bots - hackernewsbot - Bot that posts new hot stories from Hacker News to telegram channel (Examples / Python)
README
# hackernewsbot
Telegram bot that posts new hot stories from Hacker News to [telegram channel](https://telegram.me/hacker_news_feed)## Backend
Bot runs on [Google App Engine](https://cloud.google.com/appengine/)## Hacker News API
Bot uses [Hacker News API](https://github.com/HackerNews/API)It loads [top stories](https://hacker-news.firebaseio.com/v0/topstories.json) every 10 minutes and posts any story that reached *100+* score([adjusted for inflation](https://instruments.digital/inflation-adjusted-hn/))
## Telegram API
Bot uses [Telegram Bot API](https://core.telegram.org/bots/api) to post messages to the [telegram channel](https://telegram.me/hacker_news_feed) with [sendMessage](https://core.telegram.org/bots/api#sendmessage) request## URL shortening
Bot used [bit.ly](https://dev.bitly.com/) and [goo.gl](https://developers.google.com/url-shortener/v1/getting_started) for url shortening, but now it uses internal shortener## How to run your own `hackernewsbot`
- Clone this project
- Run `pip install -r requirements.txt -t lib/` to install dependencies
- Download and install [Google Cloud SDK](https://cloud.google.com/appengine/docs/standard/python/download)
- Register your app in [Google Cloud console](https://console.cloud.google.com)
- Register your bot via [BotFather](https://telegram.me/BotFather)
- Rename `sample_app.yaml` to `app.yaml` and
- replace `yourappid` with your App engine app id
- replace `YOUR_TELEGRAM_BOT_TOKEN` with your bot token
- Possibly you'll want to create your own channel and your bot as an admin. Also change `@hacker_news_feed` in `database.py` to your channel id
- Run `gcloud app deploy app.yaml --project [YOUR_PROJECT_NAME]` in the project folder
- Run `gcloud app deploy cron.yaml --project [YOUR_PROJECT_NAME]` in the project folder## Local development
To run server locally you can use [`dev_appserver.py`](https://cloud.google.com/appengine/docs/standard/python/tools/using-local-server):```
dev_appserver.py .
```## See also
- [designernewsbot](https://github.com/phil-r/designernewsbot)
- [asciifacesbot](https://github.com/phil-r/asciifacesbot)