Befehlszeilenschnittstelle für Telegram. Verwendet die Readline-Schnittstelle.
Die Dokumentation zur Telegram-API ist hier verfügbar: http://core.telegram.org/api
Die Dokumentation zum MTproto-Protokoll ist hier verfügbar: http://core.telegram.org/mtproto
Zunächst einmal befindet sich die Binärdatei jetzt im Ordner ./bin und heißt telegram-cli. Seien Sie also vorsichtig und verwenden Sie keine alten Binärdateien.
Zweitens ist der Konfigurationsordner jetzt ${HOME}/.telegram-cli
Drittens ist die Datenbank nicht mit älteren Versionen kompatibel, sodass Sie sich erneut anmelden müssen.
Viertens wird im Peer-Namen „#“ durch „@“ ersetzt. (Wird nicht auf das Anhängen von „#%d“ angewendet, wenn zwei Peers denselben Namen haben.)
Klonen Sie das GitHub-Repository
git clone --recursive https://github.com/vysheng/tg.git && cd tg
Die Python-Unterstützung ist derzeit auf Python 2.7 oder Python 3.1+ beschränkt. Andere Versionen funktionieren möglicherweise, wurden jedoch nicht getestet.
Installieren Sie libs: readline, openssl und (wenn Sie config verwenden möchten) libconfig, liblua, python und libjansson. Wenn Sie sie nicht verwenden möchten, übergeben Sie die Optionen --disable-libconfig, --disable-liblua, --disable-python und --disable-json.
Unter Ubuntu/Debian verwenden Sie:
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make
Auf Gentoo:
sudo emerge -av sys-libs/readline dev-libs/libconfig dev-libs/openssl dev-lang/lua dev-libs/libevent dev-libs/jansson dev-lang/python
Auf Fedora:
sudo dnf install lua-devel openssl-devel libconfig-devel readline-devel libevent-devel libjansson-devel python-devel
Auf Archlinux:
yaourt -S telegram-cli-git
Auf FreeBSD:
pkg install libconfig libexecinfo lua52 python
Auf OpenBSD:
pkg_add libconfig libexecinfo lua python
Auf openSUSE:
sudo zypper in lua-devel libconfig-devel readline-devel libevent-devel libjansson-devel python-devel libopenssl-devel
Dann,
./configure
make
Auf Gentoo: Verwenden Sie das bereitgestellte Ebuild.
Auf Arch: https://aur.archlinux.org/packages/telegram-cli-git
Der Client ist auf die Readline-Bibliothek und libconfig angewiesen, die nicht standardmäßig in OS X enthalten sind. Sie müssen diese Bibliotheken manuell installieren.
Bei Verwendung von 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
Vielen Dank an @jfontan für diese Lösung.
Bei Verwendung von 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
Installieren Sie diese Ports:
Dann bauen Sie:
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
Wenn es Ihnen gelingt, es auf einem anderen UNIX zu starten, lassen Sie es mich bitte wissen.
Wenn Sie eine Frage stellen möchten, können Sie an mein Telegramm oder an den Github (oder an beide) schreiben. Um mich per Telegramm zu kontaktieren, sollten Sie die Methode import_card mit dem Argument 000653bf:0738ca5d:5521fbac:29246815:a27d0cda verwenden
bin/telegram-cli -k
Standardmäßig wird der öffentliche Schlüssel in tg-server.pub im selben Ordner oder in /etc/telegram-cli/server.pub gespeichert. Wenn nicht, geben Sie an, wo es zu finden ist:
bin/telegram-cli -k tg-server.pub
Client-Unterstützung für TAB-Vervollständigung und Befehlsverlauf.
Peer bezieht sich auf den Namen des Kontakts oder Dialogs und kann durch TAB-Vervollständigung aufgerufen werden. Für Benutzerkontakte ist der Peer-Name Name Nachname, wobei alle Leerzeichen in Unterstriche geändert wurden. Bei Chats ist es der Titel, wobei alle Leerzeichen in Unterstriche geändert wurden. Bei verschlüsselten Chats ist es
Wenn zwei oder mehr Peers denselben Namen haben, wird eine Nummer an den Namen angehängt. (zum Beispiel A_B, A_B#1, A_B#2 usw.)