| Version | |
|---|---|
| jdk | 21 |
| Version | |
|---|---|
| Compose Multiplatform | 1.9.3 |
| TDLib | 1.8.60 |
MacOS (x64 and M)
Linux (x64 and arm64)
Windows (x64)
- Download source code:
git clone https://github.com/p-vorobyev/telegram-desktop-compose-multiplatform.git- Specify environment variables(
GIT_HUB_LOGIN,GIT_HUB_TOKEN) with your GitHub credentials or write them directly tobackend/build.gradle.ktsfile. We need them to download some dependencies from GitHub packages.
repositories {
mavenCentral()
maven {
url = uri("https://maven.pkg.github.com/p-vorobyev/*")
credentials {
username = System.getenv("GIT_HUB_LOGIN")
password = System.getenv("GIT_HUB_TOKEN")
}
}
}- Go to directory
backend/src/main/resourcesand fill in theapplication.propertieswith your Telegram credentials:
spring.telegram.client.api-id=
spring.telegram.client.api-hash=
spring.telegram.client.phone=<international_format_phonenumber>
spring.telegram.client.database-encryption-key=
spring.telegram.client.database-directory=<directory_for_telegram_data>-
Compile
TDLibnative library for you operating system following these instructions. Place the compiled library in the folderdesktop/resources/<operating_system_folder>. -
Run the build script in the project root directory:
./build.shWhen the script completes, you will see the destination path of the binaries in the console output.
> Task :desktop:createDistributable
The distribution is written to /Users/vorobyev/Documents/projects/telegram-desktop-client/desktop/build/compose/binaries/main/appAt the first start you need to authorize the app with code from Telegram(will be sent to official app).
If you have activated 2-Step verification you will also need to confirm it.
After this, the chats will load for a while and become available. Example with filter some chats:
Currently only some basic message types (text and photo) are available without additional features
(reactions, delivery status, reply info, etc.).
Some features will be implemented in the future as possible.