Telegram Messenger Client auf dem Raspberry

  • Vielen Dank!


    Allerdings hätte ich noch eine Frage: Kann man Nachrichten zu einem bestimmten Zeitpunkt versenden? Zum Beispiel:


    Ich schreibe "Hallo".
    Pi antwortet mir "Hallo".
    5s später schickt er mir erneut (automatisch) eine Nachricht, aber mit einem anderen Inhalt.


    Liebe Grüsse

  • Hallo Cocouna


    habe das bei mir mal so getestet


    in die test.lua

    Code
    function wait(waitTime)
        timer = os.time()
        repeat until os.time() > timer + waitTime
    end


    und in den function on_message_receive (msg)
           

    Code
    -- Test Zeitverzögerung
    if (msg.text == '! Test') then
     send_msg (msg.from.print_name, 'Hallo')             
     wait(5)
     send_msg (msg.from.print_name, 'Welt')
     return
     end


    Allerding wartet dann das ganze System bis die Zeit abgelaufen ist.
    Vll weiß ja jemand noch eine elegantere Lösung.


    MfG

  • Hallo
    Hab da eine ganz blöde Frage: Wie kann man sich wieder ausloggen?
    Ich hab mich mit meiner normalen Handynummer angemeldet, und möchte jetzt den Benutzer wechseln, oder optimalerweise zwei accounts gleichzeitig auf dem pi haben.
    Es hat aber nicht gereicht, Telegram neu runterzuladen und zu kompilieren, die Daten sind anscheinend woanders gespeichert.
    Wäre super wenn mir da jemand helfen könnte.


    Und noch was anderes:


    Code
    echo 'msg user#<ID> <Nachricht>\nquit' |./telegram


    hat bei mir nicht funktioniert, weil der Befehl gesendet wird bevor telegram online ist.
    Ich hab das jetzt mit pexpect gemacht, das ist vielleicht nicht so schön, aber es funktioniert und schließt sich auch wieder:



    Gruß, Rasmus



    EDIT:
    Hat sich erledigt:

    Code
    rm -r ~/.telegram


    löscht die Benutzerdaten

    Edited once, last by RasmusA ().

  • Hey,


    Wenn ich Telegram starte, kommen die nachrichten an, wenn ich aber so in einem anderen Terminal eine Nachricht schicke

    Code
    !/bin/bash
    ./telegram -k tg.pub <<STDIN
    msg $1 $2
    quit
    STDIN


    wird die nachricht zwar gesendet, aber in dem anderen Terminal werden keine mehr empfangen ?!?


    Kann ich in einem Programm empfangen und in einem anderen senden?


    mfG
    Philip ;)

  • Wie lasse ich die test.lua im Hintergrund laufen?


    Normalerweise sollte ja " ./telegram -s test.lua &" funktionieren, oder?


    Das tut es bei mir leider nicht :s



    (Edit) okay, habe das " nohup " am Anfang vergessen

    Edited once, last by Sephi ().


  • Das wollte ich auch wissen, hat das funktioniert?


    Klappt, aber ist das normal, dass das 70% CPU verbraucht ?


    Verbraucht bei mir auch so viel und ist heute nach 12 Stunden ca abgeschmiert.. Gibt es noch einen anderen Weg?

  • Ich hab jetzt grad mal angefangen, ein bisschen damit rumzubasteln... Bei mir werden leider trotz

    Code
    mark_read (msg.from.print_name)

    die Nachrichten von Handy zu Pi nicht als gelesen markiert. Auf dem Handy bleibt nur ein Haken bei den Nachrichten und beim Pi muss ich irgendwas beliebiges eingeben und bestätigen, um wieder in der ">" Zeile zu landen. Ich benutze die Version von tossi.
    Jemand 'ne Idee?
    Viele Grüße

  • Hallo zusammen,


    die beiden vorher genannten Probleme treten bei mir leider auch auf. Wenn ich Telegram nicht im Hintergrund starte, liegt die CPU-Auslastung bei < 2%. Führe ich es im Hintergrund aus, liegt sie bei > 90%.
    Nachrichten werden trotz mark_read() nicht als "gelesen" markiert.


    Ich würde mich freuen, wenn jemand Lösungsvorschläge hätte.


    Edit: Für die hohe CPU-Auslastung habe ich eine Lösung gefunden. Wenn man Telegram per "screen" startet, bleibt die Auslastung unter 2%.
    Ich verwende folgenden Befehl:

    Code
    screen -dmS telegramID ./telegram -s test.lua


    Dieser lässt sich auch in einem Bashscript benutzen um Telegram bei Absturz automatisch wieder zu starten. Man kann dann die aktuelle Session schließen, ohne das Telegram beendet wird.


    Grüße, rkaEvilGenius

  • Okay, sorry... Das war wenig inhaltsvoll, stimmt. War grad aufm Sprung.


    Code
    telegram: queries.c:349: help_get_config_on_answer: Assertion `fetch_int () == 0x232d5905' failed.
    SIGABRT received


    [hr]
    Bin scheinbar nicht der einzige. Habs grad gegoogelt und bin auf das hier gestoßen: http://pastebin.com/nF3S0zH3 - die ersten 7 Zeilen hab ich auch. Den Rest nicht. Also nur die ersten 7 Zeilen

  • Ich hab ein Problem beim installieren von Telegramm, nach dem Befehl
    ./telegram -k tg.pub


    kommt das hier:
    *** Couldn't open public key file: tg.pub
    rsa_load_public_key: No such file or directory


    hab danach den Telegramm Ordner gelöscht und das tut nochmal gemacht.
    Gleiches Ergebnis.:s
    Habe Raspbian
    Edit: Habe das Problem gelöst, aber bei mir funktioniert der Listener nicht.
    wenn ich "ping" meinem Raspi schreibe kommt nichts zurück.
    Kann vielleicht hier jemand seine test.lua posten?
    Danke im voraus :shy:

    A: Was ist dein dunkelstes Geheimnis?
    B: Das kann ich dir nicht sagen.
    A: sudo was ist dein dunkelstes Geheimnis?

    Edited once, last by petit_miner ().

  • Hi Leute,


    erst einmal vielen Dank an euch! Hier stehen sehr wertvolle Informationen!!! Ich habe TG nun zum Laufen bekommen und möchte es gern für meine Hausautomation verwenden.


    Ich scheitere aber schon an Kleinigkeiten... :(


    Wie kann ich im lua script eine beschriebene Variable als msg senden? Also den String.


    So klappt es schon mal NICHT:

    Code
    if (msg.text == 'Temp') then
    mark_read (msg.from.print_name)
    tempr=os.execute('vcgencmd measure_temp' )
    send_msg (msg.from.print_name, 'tempr')
    return
    end


    Ich sehe, dass die Variable "tempr" richtig beschrieben wird mit der aktuellen Temperatur des rpi. Aber wie ich es auch versuche ich bekomme den Inhalt nicht als msg gesendet.


    Kann mir da jemand weiter helfen?


    ;


    Noch ein Problem:

    Ich würde gerne die GPIO auslesen und als trigger für das Senden von MSG und Photos verwenden. Da habe ich noch keinen richtigen Lösungsansatz.


    Die GPIO-Auslesen per Bash-Script ist kein Ding - aber LUA?


    Danke!


    David

  • Hallo,
    ich möchte mir über das Handy selber eine Nachricht auf den Raspi zuschicken. An mich selber funktioniert nicht. Wenn ich an "Telegram Notification" schicke, kommt zwar die Nachricht an, aber das Script für die Autoantwort reagiert nicht. Wie kann ich an mich selber eine Nachricht vom Handy aus schicken, damit diese am Raspi angezeigt wird?


    Peter


  • Habe aktuell das selbe Problem. Wie hast du das denn gelöst??
    Oder hat irgendjemand einen Lösungsansatz für mich?


    EDIT:
    ./telegram -k tg.pub ging nicht. Allerdings lief mit : ./telegram -k tg-server.pub alles wie es soll!!!

    Edited once, last by Zisi ().

  • Hey,
    ich habe Telegram auch bei mir mal installiert. Nachrichten die ich vom Handy sende kommen an. Allerdings kann ich keine Nachrichten auf mein Handy schicken. Es kommt immer
    Bad user/Chat id
    Ich versteh aber nicht wirklich warum und was genau ich falsch mach.


    Edit:
    Hat sich erledigt. Musste erst meine Nummer als Kontakt hinzufügen.


    Nochmal ein Nachtrag von mir. Habe es mal mit der test.lua versucht. Bekomme keine Antwort zurück.

    Edited once, last by marcel ().

  • Hi, folgendes Problem


    Code
    attempt to call global 'send_photo' (a nil value)


    beim Aufruf.


    Der part meiner test.lua lautet wie folgt:


    Code
    elseif -- Camera
    (string.lower(msg.text) == 'bild') then
    local handle = io.popen("python /home/pi/python_scripts/tg_lib.py bild")
    local res = handle:read("*a")
    handle:close()
    os.execute("sleep 1")
    send_photo (msg.from.print_name, '/home/pi/bild.jpg')


    Intention war ein Bild mit der Raspi Kamera aufzunehmen wenn ich ihm die Nachricht "Bild" schicke. Allerdings tritt dieser Fehler auf obwohl ich die von Tossi geuptten Dateien im Ordner habe.




    Kann mir jemand helfen?