Go to file
Alexander Zinchuk 0eb90254ad 1.34.0
2022-02-20 13:48:01 +02:00
.husky [Refactoring] Fix TS and ESLint errors after updating packages (#1386) 2021-08-16 14:21:33 +03:00
deploy Audio: Fix playing voice messages on iOS (follow-up) 2021-06-30 05:24:58 +03:00
dev/localize [Refactoring] Fix some TS typings, update some dependencies (#1702) 2022-02-11 15:13:05 +01:00
dist [Build] 2022-02-14 00:54:56 +03:00
plugins [Refactoring] More stylelint constraints; Update browserlist (#1708) 2022-02-20 13:39:06 +02:00
public Introduce Group Calls (#1520) 2021-11-27 17:43:51 +01:00
src 1.34.0 2022-02-20 13:48:01 +02:00
.babelrc [Refactoring] Update dependencies (#1365) 2021-08-16 14:21:20 +03:00
.browserslistrc [Refactoring] More stylelint constraints; Update browserlist (#1708) 2022-02-20 13:39:06 +02:00
.editorconfig Initial commit 2021-04-09 14:11:51 +03:00
.env.example Initial commit 2021-04-09 14:11:51 +03:00
.eslintignore [Refactoring] More stylelint constraints; Update browserlist (#1708) 2022-02-20 13:39:06 +02:00
.eslintrc [Refactoring] More stylelint constraints; Update browserlist (#1708) 2022-02-20 13:39:06 +02:00
.gitattributes Initial commit 2021-04-09 14:11:51 +03:00
.gitignore Drop redundant tests 2021-05-24 02:09:39 +03:00
.patch-version [Build] 2022-02-14 00:54:56 +03:00
.postcssrc Initial commit 2021-04-09 14:11:51 +03:00
.stylelintrc.json [Refactoring] More stylelint constraints; Update browserlist (#1708) 2022-02-20 13:39:06 +02:00
CHANGELOG.md 1.3.0 2021-06-21 16:40:05 +03:00
jest.config.js [Tests] Fix tests 2021-10-22 13:49:27 +03:00
LICENSE Add license file 2021-04-16 18:32:30 +03:00
package-lock.json 1.34.0 2022-02-20 13:48:01 +02:00
package.json 1.34.0 2022-02-20 13:48:01 +02:00
README.md Update README.md 2021-08-22 15:22:55 +03:00
tsconfig.json [Refactoring] More stylelint constraints; Update browserlist (#1708) 2022-02-20 13:39:06 +02:00
webpack.config.js [Dev] Main Menu: Show branch name for dev and staging builds (#1719) 2022-02-20 13:39:30 +02:00

Telegram Web Z

This project won the first prize 🥇 at Telegram Lightweight Client Contest and now is an official Telegram client available to anyone at web.telegram.org/z.

According to the original contest rules, it has nearly zero dependencies and is fully based on its own Teact framework (which re-implements React paradigm). It also uses a custom version of GramJS as an MTProto implementation.

The project incorporates lots of technologically advanced features, modern Web APIs and techniques: WebSockets, Web Workers and WebAssembly, multi-level caching and PWA, voice recording and media streaming, cryptography and raw binary data operations, optimistic and progressive interfaces, complicated CSS/Canvas/SVG animations, reactive data streams, and so much more.

Feel free to explore, provide feedback and contribute.

Local setup

mv .env.example .env

npm i

Obtain API ID and API hash on my.telegram.org and populate the .env file.

Dev mode

npm run dev

Invoking API from console

Start your dev server and locate GramJS worker in console context.

All constructors and functions available in global GramJs variable.

Run npm run gramjs:tl full to get access to all available Telegram requests.

Example usage:

await invoke(new GramJs.help.GetAppConfig())

Bug reports and Suggestions

If you find an issue with this app, let Telegram know using the Suggestions Platform.