(Unofficial) Blinkist bot for Telegram

This project is not far from completion.

Being a user of the Blinkist website and previously owning a membership, I did not use this product as much as I would have wanted.

Aside from the paid membership, each day Blinkist showcases a free eBook to read and listen to.

What is Blinkist

To my understanding, Blinkist is a subscription service where employees read a range of books and convert them into short digestible bursts of audio/text, saving the reader the effort of reading the whole book.

Aim of the project

The objective of the bot is broken down into the following stages (strikethrough indicates completion):

  1. Retrieve the information of the latest free book, so the user can see what free book is available before committing to reading it.
  2. Retrieve all text from each chapter and provide it to the user to read.
  3. Find the URLs of each chapter’s audio file.
  4. Download the audio from each chapter.
  5. Splice all audio into 1 file.
  6. Convert and compress audio file and return it to the user.

Issues encountered

The main issue which is why this project is still ongoing is related to how the bot downloads each chapter asynchronously (each an m4a, audio/video file). When the bot is downloading these files, it has difficulty with knowing how big they are, even cutting the download before it has finished and corrupting the file. More irritatingly was that it sometimes fully downloaded these the files, which lead to me wonder if it is my personal internet connection when evaluating this bot.

As all processes in this chain are running asynchronously and do not return any errors, it may take some time to resolve, but once it downloads these audio files 100% consistently, the remaining stages will be easy to finish.

Project status

As I have not yet re-visited this project, I have paused it. Project will only become public once all remaining tasks have been completed.