Go to file
2013-11-22 23:49:59 +04:00
binlog.c Fixed binlog. Added state file to binlog 2013-11-22 01:40:31 +04:00
binlog.h Fixed binlog. Added state file to binlog 2013-11-22 01:40:31 +04:00
binlog.tl Added files for binlog 2013-11-13 04:11:25 +04:00
config.h Added configure script. Some interface fixes 2013-11-10 02:47:19 +04:00
config.h.in Added configure script. Some interface fixes 2013-11-10 02:47:19 +04:00
config.sample Fixed bug in read config 2013-11-11 22:35:31 +04:00
configure Maybe it would compile on mac now 2013-11-11 15:34:45 +04:00
configure.ac Maybe it would compile on mac now 2013-11-11 15:34:45 +04:00
constants.h Added full support for layer 10 2013-11-15 14:37:14 +04:00
gen_constants_h.awk Added full support for layer 10 2013-11-15 14:37:14 +04:00
include.h Added GPL-headers to source files 2013-10-23 18:26:17 +04:00
interface.c Merge github.com:vysheng/tg 2013-11-21 23:36:05 +04:00
interface.h Added configure script. Some interface fixes 2013-11-10 02:47:19 +04:00
LICENSE Added GPL license text 2013-10-23 18:53:22 +04:00
LICENSE.h Added some fixes required by GPL 2013-10-25 13:28:29 +04:00
loop.c Fixed binlog. Added state file to binlog 2013-11-22 01:40:31 +04:00
loop.h Partial support for encrypted chats. 2013-11-04 21:34:27 +04:00
main.c Sometimes new binlog works 2013-11-21 23:35:49 +04:00
Makefile Partial support for binlog. It now can track user, secret chat and auth updates. 2013-11-15 04:08:24 +04:00
Makefile.in Partial support for binlog. It now can track user, secret chat and auth updates. 2013-11-15 04:08:24 +04:00
mtproto-client.c Fixed binlog. Added state file to binlog 2013-11-22 01:40:31 +04:00
mtproto-client.h Fixed binlog. Added state file to binlog 2013-11-22 01:40:31 +04:00
mtproto-common.c Maybe it would compile on mac now 2013-11-11 15:34:45 +04:00
mtproto-common.h Fixed small bugs. Fixed login 2013-11-16 17:04:53 +04:00
net.c Added full support for layer 10 2013-11-15 14:37:14 +04:00
net.h Added configure script. Some interface fixes 2013-11-10 02:47:19 +04:00
no-preview.h Forgot GPL header. 2013-11-05 03:55:41 +04:00
queries.c Fixed binlog. Added state file to binlog 2013-11-22 01:40:31 +04:00
queries.h Sometimes new binlog works 2013-11-21 23:35:49 +04:00
README.md new format of readme 2013-11-22 23:49:59 +04:00
structures.c Merge github.com:vysheng/tg 2013-11-21 23:36:05 +04:00
structures.h Merge github.com:vysheng/tg 2013-11-21 23:36:05 +04:00
telegram.h Added GPL-headers to source files 2013-10-23 18:26:17 +04:00
tg.pub Commit parse of many structures (message, chat, photo, etc) 2013-10-14 21:26:25 +04:00
tree.h Maybe it would compile on mac now 2013-11-11 15:34:45 +04:00

Telegram messenger CLI

Command-line interface for Telegram. Uses readline interface.

API, Protocol documentation

Documentation for Telegram API is available here: http://core.telegram.org/api

Documentation for MTproto protocol is available here: http://core.telegram.org/mtproto

Installation

Linux

Just run

$ ./configure
$ make

Mac OS X

The client depends on readline library and libconfig, which are not included in OS X by default. You have to install these libraries manually, e.g. using Homebrew.

$ brew install libconfig
$ brew install readline
$ export CFLAGS="-I/usr/local/include -I/usr/local/Cellar/readline/6.2.4/include"
$ export LDFLAGS="-L/usr/local/lib -L/usr/local/Cellar/readline/6.2.4/lib"
$ ./configure && make

Thanks to @jfontan for this solution.

Other UNIX

If you manage to launch it on other UNIX, please let me know.

Usage

./telegram -k <public-server-key>

By default public key is stored in the same folder named tg.pub:

./telegram -k tg.pub

Client support TAB completion and command history.

Supported commands

Messaging

  • 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
  • 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

Multimedia

  • 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 <msg-seqno> - loads photo/video to download dir
  • view_photo/view_video/view_video_thumb <msg-seqno> - loads photo/video to download dir and starts system default viewer

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>
  • 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

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