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.
Portable Version (Windows)
Windows Portable - So you don't have even bother installing it.
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
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'
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] Encoding=UTF-8 Type=Application Terminal=false Name=Telegram Exec=/home/username/Telegram/Telegram -startintray Icon=/usr/share/icons/suru/apps/scalable/telegram-symbolic.svg Type=Application Categories=Network;
Save (Ctrl+o) and exit (Ctrl+x).
Thanks to deshack.
Install Script here.
Another guide here.
Command Line Install & Usage (Linux)
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 https://github.com/vysheng/tg.git && cd tg ./configure make
bin/telegram-cli -k tg-server.pub # when the .pub key is the default stored in same directory (tg)
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
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.