phil-r / hackernewsbot

:newspaper: Telegram bot that posts new hot stories from Hacker News to telegram channel

Home Page:https://t.me/hacker_news_feed

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hackernewsbot

Telegram bot that posts new hot stories from Hacker News to telegram channel

Backend

Bot runs on Google App Engine

Hacker News API

Bot uses Hacker News API

It loads top stories every 10 minutes and posts any story that reached 100+ score(adjusted for inflation)

Telegram API

Bot uses Telegram Bot API to post messages to the telegram channel with sendMessage request

URL shortening

Bot used bit.ly and goo.gl 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
  • Register your app in Google Cloud console
  • Register your bot via 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:

dev_appserver.py .

See also

About

:newspaper: Telegram bot that posts new hot stories from Hacker News to telegram channel

https://t.me/hacker_news_feed

License:MIT License


Languages

Language:Python 51.1%Language:HTML 48.9%