/jolt-telegram-news-bot

A Telegram news bot helping you feel the spark of news again

Primary LanguagePython

Jolt, a Telegram news bot

PyPI

We want news readers to start discussions about news they care about and feel empowered by it.

Contents:

  1. Introduction
  2. Requirements
  3. Setup
  4. Usage
  5. Future optimisations
  6. Acknowledgements
  7. Team

1. Introduction

[Prototype] Jolt is a Telegram bot for users to read Singapore news and to create their own personal news bulletins.

2. Requirements

  • newsapi-python == 0.2.5
  • newspaper3k == 0.2.5
  • python-telegram-bot == 12.1.1

3. Setup

  1. Create a bot with Telegram's Bot Father bot. A guide to creating a bot with Bot Father can be found here.
  2. Pass in your bot's API token in main.py:
TOKEN = 'token'  # insert your telegram bot token here
  1. Create an account with newsapi.org to get your newsapi key.

  2. Pass in your key for newsapi in newsfeed.py:

KEY = 'key'  # insert your newsapi key here
  1. The bot is now ready. Run main.py to run the bot.

4. Usage

Demo

Jolt demo

Commands

Jolt uses slash commands to execute tasks.

  • /start sends the news bulletin.
  • /search initiates a news search. Use /search <your search query> to immediately get Jolt to search for <your search query>.
  • /help shows the user what Jolt can do.

News bulletin menus

Jolt uses inline keyboards to build its menus.

Main menu

The main menu presents the user with a list of five of the top headlines for Singapore news from newsapi.org.

Sub-menu

Clicking to read the story from the bulletin's main menu shows the individual news stories that have been summarised using newspaper3k.

Users may also:

  • read the full story by clicking the Read full story here hyperlink;
  • toggle to other stories of the same topic using the story's navigation buttons, Prev or Next;
  • or return to the main menu with the Return to stories button.

5. Future optimisations

What we have now is a working prototype. We hope to improve and add on to Jolt's current capabilities. These include:

  • A user interface for news personalisation and scheduling.
  • Having a better user experience (UX), such as smoother tutorials for first-time users.
  • Being able to handle conversations in a casual or more organic manner.
  • Being able to subsrcribe to specific news tags or keywords.
  • Being able 'like' news stories to gauge its popularity.
  • Having interactive quizzes.
  • Enabling different types of content such as videos and podcasts to be easily accessible.

6. Acknowledgements

We would like to thank our news partners at The Straits Times, Sandra Davie and Azhar Kasman, and our mentor at Google, Kate Beddoe, for their expert guidance. We would also like to extend our thanks to our first prototype users, Lin Shan, Gracia, and Melissa, for their invaluable feedback. Lastly, we want to thank our instructors Jessica Tan and Joan Kelly for their continuous support and encouragement during our design thinking process.

7. Team

Anthony (ahthon), Christy, Iskandar, Kenneth, Michael, and Theophilus.