I Built Telegram Inside My Terminal Using Python

Most people open Telegram with a mouse.
I wanted arrow keys, raw speed, and zero distractions.
So I built Telegram Terminal Lite — a minimal Python-based Telegram client that lets me browse chats, groups, channels, bots, and recent messages directly inside the terminal using a clean interactive CLI.
Why build this when Telegram already exists?
Because modern apps are overloaded.
Sometimes I don’t want notifications, animations, sidebars, stickers, recommendations, floating buttons, and ten tabs fighting for attention.
I want:
open terminal
authenticate
choose chat
read messages
exit
That’s it.
What Telegram Terminal Lite actually does
The project uses:
telethonfor Telegram API communicationquestionaryfor keyboard-based navigationrichfor terminal rendering
This makes the terminal feel surprisingly usable for messaging workflows.
View telegram-terminal-lite on GitHub
Features
Browse Users
Browse Groups
Browse Channels
Browse Bots
Open any chat
Read latest 20 messages
Navigate fully with arrow keys
Why terminal instead of GUI?
Because terminal gives:
lower memory usage
faster startup
no visual noise
easier scripting later
This is especially useful if you already live inside shell sessions.
Internal structure
The project is split cleanly:
main.py→ controls app flowauth.py→ handles Telegram login/sessionchat_loader.py→ loads dialogs and categorizes themui.py→ renders menus and messages
That separation made debugging much easier while keeping the MVP small.
First engineering challenge
Telegram authentication is easy once.
Reliable session handling is where it starts becoming real.
The moment sessions break, the whole CLI becomes annoying.
So authentication had to feel invisible after first login.
Why this project matters beyond Telegram
This is not only a Telegram client.
It is a pattern:
take an everyday GUI workflow and compress it into terminal-native interaction.
That same idea can be reused for:
email
dashboards
internal tools
monitoring systems
What comes next
Possible next versions:
send messages
search chats
message filters
file preview
command shortcuts
Repo
View telegram-terminal-lite on GitHub
Closing thought
A lot of software becomes useful when you remove features, not when you add them.
This project started with one question:
How little Telegram can exist and still remain useful?
