Giter Site home page Giter Site logo

telegram.link's Introduction

telegram.link

npm version Build Status Coverage Status Climate Status Dependency Status Sauce Test Status

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.

Telegram.link in action!

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.

Project Status

See the project status page on the wiki for the last notes.

Documentation

The api documentation is generated under the doc/ folder.

See the documentation page on the wiki.

Project Architecture

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.

Other direct dependencies

  • 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.

Installation

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

Unit Testing

You can run unit-test executing the following command in the project-root folder:

$ npm test

About Telegram..

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).

About Node.JS..

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).

About the telegram.link logo ..

Logo crafted by Diego Pasquali

License

The project is released under the MIT license

telegram.link's People

Contributors

enricostara avatar mien avatar vunguyentuan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.