ALPHA SOFTWARE
###telegram.link is a Telegram API library for
-
Hybrid Mobile Apps (phone and tablet)
-
Desktop Web Apps (standard HTML5 browsers)
-
Server-side Apps (i.e. a Command-Line Interface)
-
Desktop Apps (i.e. as third party module using the NW.js runtime)
telegram.link is an unofficial porting in javascript of the Telegram Application Programming Interface.
telegram.link library enables to write once a client-application (whole or only the communication part) that runs both on mobile and desktop browsers and also on a Node.js server and connect to the Telegram data-centers via standard protocol and API.
To start with the telegram.link library, you can install and study the Termgram application. Termgram is a terminal client to connect with Telegram and uses all the features currently available in telegram.link. The source code is quite straightforward and you'll be able to take inspiration to build your own application! As soon as a new feature will be available in telegram.link it will be exploited by Termgram.
-
Creating an Authorization Key: completed
-
User Autorization: completed
-
user-contact/update-message management, message exchange: completed
-
Starts the ALPHA phase.
See the project status page on the wiki for the last notes.
The api documentation is generated under the doc/ folder.
See the documentation page on the wiki.
The whole library is split in three projects:
-
telegram.link (this library): is the main project and provides the highest-level interface to communicate with the Telegram data-center. When you write your 'telegram-like-app' you should deal only with this module.
-
telegram-mt-node (dependency): implements the Telegram Mobile Protocol (MTProto), the protocol level to establish a secure communication with the Telegram cloud.
-
telegram-tl-node (dependency): implements the core TypeLanguage types and a TypeBuilder class that writes Type classes and functions in pure javascript parsing TypeLanguage schemas. TypeLanguage types represent the building blocks of the Telegram protocol.
-
get-flow: just yet another Node.js flow control utility, powerful and easy to use
-
get-log: a Node.js logging utility, easy to use and ready for production environment.
-
requirish: a tool for avoiding the ../../../ relative paths problem, includes a browserify-transform to rewrites the require() for browser.
To get the complete package:
$ git clone --branch=master git://github.com/enricostara/telegram.link.git
$ cd telegram.link
$ npm install
To install the library as dependency for your app (no tests, no docs, no dev files.. only pure code!):
$ cd YourApp
$ npm install --save telegram.link
You can run unit-test executing the following command in the project-root folder:
$ npm test
Telegram is a cross-platform messenger whose clients are open source. Telegram users can exchange encrypted and self-destructing messages, photos, videos and documents (all file-types supported). Telegram is officially available for Android and iOS (including tablets and devices without Wi-Fi). Unofficial clients for Windows Phone, as well as a web version, OS X version, Linux version and a Windows desktop client are available from independent developers using the Telegram API (from Wikipedia).
Node.js is a cross-platform runtime environment for server-side and networking applications. Node.js applications are written in JavaScript, and can be run within the Node.js runtime on OS X, Microsoft Windows and Linux with no changes (from Wikipedia).
Logo crafted by Diego Pasquali
The project is released under the MIT license