Telegram Desktop – Official Messenger
This is the complete source code and the build instructions for the alpha version of the official desktop client for the Telegram messenger, based on the Telegram API and the MTProto secure protocol.
The source code is published under GPLv3 with OpenSSL exception, the license is available here.
Supported systems
- Windows XP - Windows 10 (not RT)
- Mac OS X 10.8 - Mac OS X 10.10
- Mac OS X 10.6 - Mac OS X 10.7 (separate build)
- Ubuntu 12.04 - Ubuntu 14.04
- Fedora 22
Third-party libraries
- Qt 5.3.2 and 5.5.0, slightly patched (LGPL)
- OpenSSL 1.0.1g (OpenSSL License)
- zlib 1.2.8 (zlib License)
- libexif 0.6.20 (LGPL)
- LZMA SDK 9.20 (public domain)
- liblzma (public domain)
- OpenAL Soft (LGPL)
- Opus codec (BSD license)
- FFmpeg (LGPL)
- Open Sans font (Apache License 2.0)
Build instructions
Projects in Telegram solution
-
Telegram
Telegram Desktop messenger
-
Updater
A little app, that is launched by Telegram when update is ready, replaces all files and launches it back.
-
Packer
Compiles given files to single update file, compresses it with lzma and signs with a private key. It is not built in Debug and Release configurations of Telegram solution, because private key is inaccessible.
-
Prepare
Prepares a release for deployment, puts all current files to deploy/{version} folder.
Windows:
- tsetup{version}.exe installer
- Telegram.exe
- Telegram.pdb (debug info for crash minidumps view)
- tupdate{updversion} binary lzma update archive
Mac:
- tsetup{version}.dmg
- Telegram.app
- tmacupd{updversion} binary lzma update archive
-
MetaEmoji
Creates four sprites and text2emoji replace code
- SourceFiles/art/emoji.png
- SourceFiles/art/emoji_125x.png
- SourceFiles/art/emoji_150x.png
- SourceFiles/art/emoji_200x.png
- SourceFiles/art/emoji_250x.png
- SourceFiles/gui/emoji_config.cpp
-
MetaStyle
From two files and two sprites
- Resources/style_classes.txt
- Resources/style.txt
- SourceFiles/art/sprite.png
- SourceFiles/art/sprite_200x.png
Creates two other sprites, four sprite grids and style constants code
- SourceFiles/art/sprite_125x.png
- SourceFiles/art/sprite_150x.png
- SourceFiles/art/grid.png
- SourceFiles/art/grid_125x.png
- SourceFiles/art/grid_150x.png
- SourceFiles/art/grid_200x.png
- GeneratedFiles/style_classes.h
- GeneratedFiles/style_auto.h
- GeneratedFiles/style_auto.cpp
-
MetaLang
Creates from languagepack file
Resources/lang.txt
language constants code and language file parse code:- GeneratedFiles/lang.h
- GeneratedFiles/lang.cpp