Интерфейс командной строки для Telegram. Использует интерфейс readline.
Документация по Telegram API доступна здесь: http://core.telegram.org/api.
Документацию по протоколу MTproto можно найти здесь: http://core.telegram.org/mtproto.
Прежде всего, двоичный файл теперь находится в папке ./bin и называется telegram-cli. Поэтому будьте осторожны и не используйте старый двоичный файл.
Во-вторых, папка конфигурации теперь называется ${HOME}/.telegram-cli.
В-третьих, база данных несовместима со старыми версиями, поэтому вам придется войти в систему заново.
В-четвертых, в имени_узла '#' заменяется на '@'. (Не применяется к добавлению «#%d» в случае, если два узла имеют одинаковое имя).
Клонировать репозиторий GitHub
git clone --recursive https://github.com/vysheng/tg.git && cd tg
Поддержка Python в настоящее время ограничена Python 2.7 или Python 3.1+. Другие версии могут работать, но не проверялись.
Установите библиотеки: readline, openssl и (если вы хотите использовать конфигурацию) libconfig, liblua, python и libjansson. Если вы не хотите их использовать, укажите параметры --disable-libconfig, --disable-liblua, --disable-python и --disable-json соответственно.
В Ubuntu/Debian используйте:
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make
В Генту:
sudo emerge -av sys-libs/readline dev-libs/libconfig dev-libs/openssl dev-lang/lua dev-libs/libevent dev-libs/jansson dev-lang/python
В Федоре:
sudo dnf install lua-devel openssl-devel libconfig-devel readline-devel libevent-devel libjansson-devel python-devel
В Архлинуксе:
yaourt -S telegram-cli-git
Во FreeBSD:
pkg install libconfig libexecinfo lua52 python
В OpenBSD:
pkg_add libconfig libexecinfo lua python
В openSUSE:
sudo zypper in lua-devel libconfig-devel readline-devel libevent-devel libjansson-devel python-devel libopenssl-devel
Затем,
./configure
make
В Gentoo: используйте предоставленный ebuild.
В Arch: https://aur.archlinux.org/packages/telegram-cli-git.
Клиент зависит от библиотеки readline и libconfig, которые по умолчанию не включены в OS X. Вам придется установить эти библиотеки вручную.
Если вы используете Homebrew:
brew install libconfig readline lua python libevent jansson
export CFLAGS="-I/usr/local/include -I/usr/local/Cellar/readline/6.3.8/include"
export LDFLAGS="-L/usr/local/lib -L/usr/local/Cellar/readline/6.3.8/lib"
./configure && make
Спасибо @jfontan за это решение.
Если вы используете MacPorts:
sudo port install libconfig-hr
sudo port install readline
sudo port install lua51
sudo port install python34
sudo port install libevent
export CFLAGS="-I/usr/local/include -I/opt/local/include -I/opt/local/include/lua-5.1"
export LDFLAGS="-L/usr/local/lib -L/opt/local/lib -L/opt/local/lib/lua-5.1"
./configure && make
Установите эти порты:
Затем постройте:
env CC=clang CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib LUA=/usr/local/bin/lua52 LUA_INCLUDE=-I/usr/local/include/lua52 LUA_LIB=-llua-5.2 ./configure
make
Если вам удастся запустить его на другом UNIX, сообщите, пожалуйста.
Если вы хотите задать вопрос, вы можете написать мне в телеграмм или на гитхаб (или в оба). Чтобы связаться со мной через Telegram, вам следует использовать метод import_card с аргументом 000653bf:0738ca5d:5521fbac:29246815:a27d0cda.
bin/telegram-cli -k
По умолчанию открытый ключ хранится в tg-server.pub в той же папке или в /etc/telegram-cli/server.pub. Если нет, укажите, где его найти:
bin/telegram-cli -k tg-server.pub
Клиентская поддержка завершения TAB и истории команд.
Peer относится к имени контакта или диалога, и доступ к нему можно получить, заполнив TAB. Для контактов пользователя именем однорангового узла является Имя Фамилия со всеми пробелами, замененными на подчеркивания. Для чатов это заголовок, все пробелы заменены на подчеркивания. Для зашифрованных чатов это <Восклицательный знак> Имя Фамилия, все пробелы заменены на подчеркивания.
Если два или более узла имеют одинаковое имя, к имени добавляется номер. (например, A_B, A_B#1, A_B#2 и т. д.)