FedericoBruzzone / tgt
TUI for Telegram written in Rust 🦀
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing FedericoBruzzone/tgt in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler view[crates-io]: https://crates.io/crates/tgt [crates-io-shield]: https://img.shields.io/crates/v/tgt [github-ci-linux]: https://github.com/FedericoBruzzone/tgt/actions/workflows/ci-linux.yml [github-ci-linux-shield]: https://github.com/FedericoBruzzone/tgt/actions/workflows/ci-linux.yml/badge.svg [github-ci-windows]: https://github.com/FedericoBruzzone/tgt/actions/workflows/ci-windows.yml [github-ci-windows-shield]: https://github.com/FedericoBruzzone/tgt/actions/workflows/ci-windows.yml/badge.svg [github-ci-macos]: https://github.com/FedericoBruzzone/tgt/actions/workflows/ci-macos.yml [github-ci-macos-shield]: https://github.com/FedericoBruzzone/tgt/actions/workflows/ci-macos.yml/badge.svg [github-license-mit]: https://github.com/FedericoBruzzone/tgt/blob/main/LICENSE-MIT [github-license-apache]: https://github.com/FedericoBruzzone/tgt/blob/main/LICENSE-APACHE [github-license-shield]: https://img.shields.io/github/license/FedericoBruzzone/tgt [total-lines]: https://github.com/FedericoBruzzone/tgt [total-lines-shield]: https://tokei.rs/b1/github/FedericoBruzzone/tgt?type=Rust,Python [creates-io-downloads]: https://crates.io/crates/tgt [creates-io-downloads-shield]: https://img.shields.io/crates/d/tgt.svg ⚠️ Note that this is the first release of . Please consider to open an issue if you find any bug or if you have any suggestion. ⚠️ A simple TUI for Telegram [![Crates.io][crates-io-shield]][crates-io] [![GitHub CI Linux][github-ci-linux-shield]][github-ci-linux] [![GitHub CI Windows][github-ci-windows-shield]][github-ci-windows] [![GitHub CI macOS][github-ci-macos-shield]][github-ci-macos] [![Crates.io Downloads][creates-io-downloads-shield]][creates-io-downloads] [![][total-lines-shield]][total-lines] About is a terminal user interface for Telegram, written in Rust. --> --> --> Usage **From crates.io** **From source downloading the tdlib** After the installation, you can run with the following command: Features Build features can be combined (e.g. ). | Feature | Description | |--------|-------------| | | Enables and . | | | Download and use TDLib automatically (recommended for most users). | | | Use TDLib from path in . | | | Find TDLib via pkg-config. | | | Play Telegram voice notes (OGG Opus) and other audio (e.g. MP3). **Requires CMake** to build the Opus dependency. Enabled by default; use and then add back only the features you need (e.g. ) to disable voice. | | | Enable chafa-based image rendering in the photo viewer (dynamic linking). Requires the chafa library installed on the system. Not supported on Windows ARM. | | | Same as but links chafa statically. Not supported on Windows ARM. | **Voice messages** If you build with the default features (or with enabled), you must have **CMake** installed so the Opus library can be built. Other audio formats (e.g. MP3) use rodio only; only Telegram voice notes (Opus) need this. If you build with and do not enable , voice playback is disabled and the app will show a message when you try to play a voice note. **Installation methods for CMake (when using voice-message)** • **macOS** — Homebrew: • **Linux** — use your package manager, e.g. (Debian/Ubuntu), (Fedora), (Arch) • **Windows** — CMake installer or e.g. **Chafa (image rendering)** The and features use the chafa library to display images in the terminal. You must have chafa installed to use these features. **Installation methods for chafa** • **Linux (Debian/Ubuntu/Kali, Fedora, Arch, openSUSE, etc.)** — use your package manager: • (Debian/Ubuntu/Kali) • (Fedora) • (Arch Linux) • (openSUSE) • (Gentoo) • **macOS** — Homebrew or MacPorts: • - • **Windows** — Scoop or Windows Package Manager (winget): • - Arch Linux Thanks to x-leehe for creating the AUR package. You can install from the AUR: NixOS **From ** Config directories are created automatically on first run, or you can generate initial config with (see CONFIG.md). Then you have two installation options: • Run directly with : • Add to your system packages: Add the following to your : Then add it to your : To use a specific version of the program, override the attribute: Docker build • The Docker image is built using as the base. • Run Docker image in interactive mode to open a bash shell. Specify a container name to reuse when required. • Run command from bash shell. • for reusing the same container for next boot cycles, start the container • run by opening interactive shell from the container Configuration is fully customizable. Config uses **XDG-style paths** (e.g. on Linux) with **backwards compatibility** for the legacy folder. The app **creates config directories** at startup if missing, and **bundles default configs** so it works out of the box after . Configs are **versioned** and the program adds missing keybindings on upgrade. Use to generate initial config files and (or / / ) to remove them for a fresh start. For config locations, versioning, CLI commands, keybindings, and per-file details, see **CONFIG.md**. Contributing Contributions to this project are welcome! If you have any suggestions, improvements, or bug fixes, feel free to submit a pull request. For more information, do not hesitate to contact us (see the Contact section). **Build instructions** There are three ways to build : • Using the feature of tdlib-rs you do not need to set any environment variable. Then you can compile using . • By default, assumes that you have the tdlib built and the environment variable set to the path of the directory. You can set the environment variable with the following command: . Then you can compile using or . • You can use to find the path of the library. In this case see the CONTRIBUTING.md file for more information. Then you can compile using . The CONTRIBUTING.md file contains information for building and the steps to configure the in your local environment, starting from the compilation to the configuration of the environment variables. Road Map You can find the road map of the proj…