/telegrand

Chat over Telegram on a modern and elegant client

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Telegrand

A Telegram client optimized for the GNOME desktop

Translation status CI status Telegram group

Installation Instructions

Telegrand is an in-development project and it isn't considered stable software yet. Also, the included API credentials are very limited and, in some cases, your account may end up banned by Telegram (check the Telegram API Credentials section below). You can avoid that by using a custom built version of Telegrand with provided API credentials via meson options, like this AUR package which you may prefer using if you use Arch Linux. But, if you still feel brave enough, there's a CI that automatically generates the latest flatpak build with the test API credentials: just download the latest artifact and install it locally using flatpak install telegrand.flatpak.

Telegram API Credentials

Telegram requires custom clients to set some credentials for using their API. Telegrand doesn't provide official API credentials, so the packagers are expected to set their own credentials for distributing the app, obtainable at https://my.telegram.org/. However, Telegrand includes the Telegram's test credentials by default, which are very limited, but usable (especially for development). However, it's known that Telegram sometimes decides to ban accounts that use such credentials (especially newer accounts). For that reason, it's suggested to use your own API credentials, which can be set by using meson options (see the Build Instructions section below).

Build Instructions

Gnome Builder

Using Gnome Builder is the easiest way to get the app built without even using the terminal: just clone the repository and press the big "Run" button at the top and it will automatically build all the required dependencies together with the app.

Meson

Prerequisites

The following packages are required to build Telegrand:

Additionally, Telegrand requires the following GStreamer plugins installed in your system to correctly show all media files:

  • gstreamer-libav
  • gstreamer-plugins-good

Instructions

meson . _build -Dtg_api_id=ID -Dtg_api_hash=HASH
ninja -C _build
sudo ninja -C _build install

Acknowledgment

The general code architecture was heavily inspired by Fractal.

Also, some logic is inspired by Telegram X, which helps to understand how to use some TDLib features correctly and to their fullest potential.