Um Telegram CLI (ComandLineInterface) produktiv nutzen zu können, ist es manchmal praktisch, wenn es beim Systemstart automatisch startet bzw. wenn man mit den Systemkommandos den Daemon starten und stoppen kann. Ich habe mir einige englische Seiten zu dem Thema durchgelesen und bin dann ziehmlich schnell zum Erfolg gekommen. Es gibt auf der Entwicklerseite eine Anleitung für ein init Script, unten ist mein Vorgehen beschrieben mit einem Betriebssystem auf systemd Basis. Bei mir ist es Raspbian bzw. Debian 8.0.
Vorarbeiten:
Zuerst sollten wir einen User für Telegram CLI anlegen.
adduser --system --no-create-home telegramd
Systemd Script:
Ich nehme als Editor joe, Ihr könnt natürlich auch jeden anderen Texteditor nehmen.
joe /etc/systemd/system/telegram.service
[Unit] Description=Telegram CLI systemd service Wants=network-online.target After=network-online.target [Service] ExecStart=/usr/local/bin/telegram-cli -d -vvvv -P 2391 -L /var/log/telegram-cli.log -W -s /etc/telegram-cli/test.lua ExecStop=/usr/bin/pkill -9 -e telegram-cli
Das Unitfile speichern und mit dem unteren Befehl den Autostart aktivieren.
systemctl enable telegram
Jetzt kann man die bekannten start/stop Befehle benutzen, um telegram zu starten oder zu beenden.
systemctl start telegram systemctl stop telegram
Da der Daemon unter einem eingenen User läuft, ergeben sich einige Probleme mit den richtigen Verzeichnissen und den Rechten. Daher müssen wir noch einige Anpassungen vornehmen.
mkdir /var/lib/telegram # Homedirectory erstellen cp -R /root/.telegram-cli/ /var/lib/telegram/ # Configdateien an die richtige Stelle kopieren joe /etc/passwd # /var/lib/telegram/ als home eintragen chown telegramd:root /var/lib/telegram/ -R # richtigen Besitzer setzen
Eigentlich sollte jetzt per systemctl start telegram der Daemon gestartet werden können. Wenn nicht, dann im Logfile mal nachschauen welche Meldungen drin stehen.
tail -f /var/log/telegram-cli.log