I’m interested in Telegram messenger since the first days of its introduction. It’s got an impressing protocol for transfering data, which is fast, secure and reliable, but, it’s got one flaw. Developing a client for Telegram is hard. MTProto, Telegram protocol, is consisted of at least three layers for querying, networking and cryptographing. Developing all three layers, especially without enough knowledge of cryptography is not easy, not to mention user interface.

Recently, Telegram released a library, which provides everything for interacting with Telegram servers out-of-the-box and handles local storage, too.

TDLib is a C library, which provides a JSON interface for interacting as libtdjson. TDLib’s got small dependencies, but an expensive building process. It takes ~30 minutes for building and requires minimum RAM of 4 GB.

I decided to develop a binding library for Node.js, so Paper Plane was born. Actually, it’s based on this project, but it couldn’t satisfy my needs, so I created my own from scratch.

Following my announcements about Paper Plane along my friends, I received an order from a friend. He needed a fast Telegram bot for handling over 700 groups fast and reliable. I provided him an API powered by Paper Plane. While developing the API, I had to apply changes, fixing the bugs those was unknown to me before and providing better comments on the code, refactor it with ES2015 and handling async requests errors. The result is not perfect, but I can say it can satisfy the needs for developing a whole client from scratch.

I am developing a Telegram client on Electron platform, decorated by Vue and powered from Paper Plane. Further news about the project (which I call it Phantom Client for now) will be published here. Stay updated :)

– Ehsān