2026-04-23 17:00:41 +03:00
2026-04-23 17:00:41 +03:00
2026-04-23 17:00:41 +03:00
2026-04-23 17:00:41 +03:00
2026-04-23 17:00:41 +03:00

telegram-tui

A minimal Telegram terminal client built with ncurses and TDLib.

Features

  • interactive login flow inside the TUI
  • chat list in the left pane
  • message view in the right pane
  • send plain text messages
  • scroll chats and message history with the keyboard

Requirements

  • CMake 3.21+
  • a C++17 compiler
  • ncurses
  • TDLib build dependencies (gperf, openssl, zlib, git)

The project vendors TDLib automatically by default. If you already have TDLib installed with CMake package metadata, configure with -DTELEGRAM_TUI_USE_SYSTEM_TDLIB=ON.

Build

cmake -S . -B build
cmake --build build -j

Run

Create a Telegram application at https://my.telegram.org/apps, then either export credentials:

export TELEGRAM_API_ID=123456
export TELEGRAM_API_HASH=0123456789abcdef0123456789abcdef
./build/telegram-tui

Or start the app without env vars and enter them interactively when prompted. When entered in the TUI, the app now stores api_id and api_hash in ~/.local/share/telegram-tui/config.json and reuses them on later launches.

To use Telegram test servers instead of production:

export TELEGRAM_USE_TEST_DC=1
./build/telegram-tui

The client stores TDLib state in ~/.local/share/telegram-tui/tdlib for production and ~/.local/share/telegram-tui/test/tdlib for test mode.

Keys

  • Up / Down: move selection
  • Tab: switch focus between chats and messages
  • Enter: open the selected chat
  • i: start composing a message
  • PgUp / PgDn: scroll the current message view
  • r: reload chats or history
  • Esc: cancel current input
  • q: quit
Description
No description provided
Readme 396 KiB
v0.1.2 Latest
2026-04-26 10:01:54 +00:00
Languages
C++ 96.8%
CMake 2.9%
Shell 0.3%