Telegram funktioniert, aber nicht im Autostart

  • Hallo.


    Ich möchte mich von meinem Pi nach abgeschlossenem Bootvorgang benachrichtigen lassen.


    Zuerst wollte ich dazu eine WhatsApp-Nachricht über Yowsup schicken. Da mir Yowsup aber nicht gefällt und auch nicht so gut läuft, habe ich das verworfen.


    Jetzt habe ich mir Telegram installiert. Das Problem bei Telegram ist, dass es eigentlich keine Nachrichten per Kommandozeile verschickt. Nach langem Googeln habe ich dazu eine Lösung gefunden und mir folgendes Skript zusammengebaut:




    Wenn ich das Skript von Hand ausführe, funktioniert alles einwandfrei.


    Also habe ich jetzt noch die Datei /etc/systemd/system/nachricht_nach_booten.service mit folgendem Inhalt angelegt:



    Diese Datei habe ich dann mit systemctl enable nachricht_nach_booten.service aktiviert. Scheinbar funktioniert das auch soweit, da ich nach jedem Reboot ein aktuelles Datum mit Uhrzeit in meiner TELEGRAM_BOOT vorfinde. Allerdings bekomme ich in Telegram keine Nachricht aufs Handy.


    Liegt es vielleicht daran, dass Telegram keine Console hat? Immer, wenn ich das Skript von Hand ausführe, öffnet sich der Telegram-Client und führt alle Befehle aus und schließt sich danach wieder. Das wird vermutlich als Service ohne Console nicht funktionieren, oder?


    Gibt es eine Möglichkeit, das zu umgehen?

  • Das Problem hatte ich auch schon, ich habe es damit umgangen, dass ich Telegram nun nach jedem Start manuell mit einer Datei starte. Das Problem war bei mir, dass die Konfigurationsdateien nur im root bzw. home Verzeichnis lagen und so, falls Telegram beim Autostart aufgerufen wurde, nicht geladen wurden.


    Mit der Konsole, das wiederum funktioniert aber. Du kannst den Telegram Daemon mit einem Port deiner Wahl starten, etwa so:


    /root/tg/bin/telegram-cli -s /root/input/telegram/test.lua -k /root/tg/tg-server.pub -P 54321


    Interessant ist hierbei besonders das -P 54321, das bedeutet du kannst, sollte der Daemon im Hintergrund laufen (ich empfehle Screen), eine Nachricht folgendermaßen versenden:


    echo "msg **EMPFÄNGER** Nachricht." | nc.traditional -w 1 127.0.0.1 54321 &


    Gruß Florian W.

  • Okay. Ich hab jetzt kurzzeitig nur Bahnhof verstanden. Das muss ich mir nochmal in Ruhe zu Gemüte führen. Bin heute etwas übermüdet.


    Problem mit dem manuellen Starten ist, dass die Kiste ja unbeaufsichtigt laufen soll. Ich möchte so immer auf dem Handy nach dem Boot eine Nachricht bekommen, damit ich weiß, dass der Rechner neu gestartet wurde.


    Ich habe gestern noch ein wenig rumgesucht und bin dabei auf Telegram-Bots gestoßen, so dass ich mich einfach durch das Aufrufen einer URL benachrichtigen kann. Klappt auch wieder alles super (URL-Aufruf durch wget), aber eben wieder nicht beim Booten.


    Ich denke echt, es liegt an der (noch) fehlenden Internetverbindung. Und das, obwohl ich Requires=network.target in der Startdatei angegeben habe. Versteh ich nicht.


    Wie gesagt, das mit dem Daemon muss ich mir nochmal genauer anschauen. Das werde ich ja eh brauchen, da ich ja später auch Befehle an den Pi schicken will.