From Indie IT Wiki
Jump to: navigation, search

Telegram is a cloud-based instant messaging service and is available for both mobile (Android, iOS, Windows Phone, Ubuntu Touch) and desktop systems (Windows, OS X, Linux). Users can send messages and exchange photos, videos, stickers and files of any type. Telegram also provides optional end-to-end encrypted messaging with self-destruct timers.

Wikipedia page.



Tricks and Tips

Portable Version (Windows)

Windows Portable - So you don't have even bother installing it.

Secret Chats

Currently only available on iOS, Android and Windows Phone, see here for details.


Launch Without Displaying Main Window (Linux)

Add the command line option



/home/user/Bin/Telegram/Telegram -startintray -- %u

Unity Issue

Telegram will start minimised (using the option above) but will not open from the tray. To circumvent this issue in order on the menu:

Click 'Open Telegram' | Click 'Minimize to tray' | Click 'Open Telegram'

Telegram Tray Menu.jpg

Yes it is a pain but after doing so Telegram will minimize/maximize on command.

Create Menu Entry (Linux)

Download and extract Telegram to the root of your user profile.

Create a dash/start menu entry:

nano .local/share/applications/telegram.desktop 

[Desktop Entry]
Exec=/home/username/Telegram/Telegram -startintray

Save (Ctrl+o) and exit (Ctrl+x).

Thanks to deshack.

Install Script here.

Another guide here.

GUI Install

Snap Install

sudo apt-get install snapd
sudo snap install telegram-desktop

Conventional Install

wget -O- | sudo tar xJ -C /opt/
sudo ln -s /opt/Telegram/Telegram /usr/local/bin/telegram-desktop

Command Line Install & Usage (Linux)



sudo apt-get install snapd
snap install telegram-cli


sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make git
git submodule init
git submodule update --recursive
git clone --recursive && cd tg



msg (First Letter) then TAB to autocomplete message


bin/telegram-cli -k # when the .pub key is the default stored in same directory (tg)

Supported Commands:


msg <peer> Text - sends message to this peer
fwd <user> <msg-seqno> - forward message to user. You can see message numbers starting client with -N
chat_with_peer <peer> starts one on one chat session with this peer. /exit or /quit to end this mode.
add_contact <phone-number> <first-name> <last-name> - tries to add contact to contact-list by phone
rename_contact <user> <first-name> <last-name> - tries to rename contact. If you have another device it will be a fight
mark_read <peer> - mark read all received messages with peer
delete_msg <msg-seqno> - deletes message (not completely, though)
restore_msg <msg-seqno> - restores delete message. Impossible for secret chats. Only possible short time (one hour?) after deletion


send_photo <peer> <photo-file-name> - sends photo to peer
send_video <peer> <video-file-name> - sends video to peer
send_text <peer> <text-file-name> - sends text file as plain messages
load_photo/load_video/load_video_thumb/load_audio/load_document/load_document_thumb <msg-seqno> - loads photo/video/audio/document to download dir
view_photo/view_video/view_video_thumb/view_audio/view_document/view_document_thumb <msg-seqno> - loads photo/video to download dir and starts system default viewer
fwd_media <msg-seqno> send media in your message. Use this to prevent sharing info about author of media (though, it is possible to determine user_id from media itself, it is not possible get access_hash of this user)
set_profile_photo <photo-file-name> - sets userpic. Photo should be square, or server will cut biggest central square part

Group Chat Options:

chat_info <chat> - prints info about chat
chat_add_user <chat> <user> - add user to chat
chat_del_user <chat> <user> - remove user from chat
rename_chat <chat> <new-name>
create_group_chat <chat topic> <user1> <user2> <user3> ... - creates a groupchat with users, use chat_add_user to add more users
   chat_set_photo <chat> <photo-file-name> - sets group chat photo. Same limits as for profile photos.


search <peer> pattern - searches pattern in messages with peer
global_search pattern - searches pattern in all messages

Secret Chat:

create_secret_chat <user> - creates secret chat with this user
visualize_key <secret_chat> - prints visualization of encryption key. You should compare it to your partner's one
set_ttl <secret_chat> <ttl> - sets ttl to secret chat. Though client does ignore it, client on other end can make use of it
accept_secret_chat <secret_chat> - manually accept secret chat (only useful when starting with -E key)

Stats and Various Info:

user_info <user> - prints info about user
history <peer> [limit] - prints history (and marks it as read). Default limit = 40
dialog_list - prints info about your dialogs
contact_list - prints info about users in your contact list
suggested_contacts - print info about contacts, you have max common friends
stats - just for debugging
show_license - prints contents of GPLv2
help - prints this help
get_self - get our user info


export_card - print your 'card' that anyone can later use to import your contact
import_card <card> - gets user by card. You can write messages to him after that.


quit - quit
safe_quit - wait for all queries to end then quit

Thanks to vysheng.