Wunderbar, dann viel Spaß damit!
Telegram Messenger Client auf dem Raspberry
-
bigdane69 -
22. Februar 2014 um 23:08 -
Erledigt
-
-
Telegram Messenger Client auf dem Raspberry? Schau mal ob du hier fündig wirst!
-
Hallo Zusammen,
Telegram mit Python
Das Tolle am open Source ist das er offenen ist.
Darum jetzt eine up-to-date Version, mit der neuen telegram-cli, zu finden unter http://flutterb.at/pytg2:Das Verfahren ist im groben ganzen das selbe wie vorher, nur müssen URLs und Pfade angepasst werden.
hat sich denn mit dem genannten Paket schon jemand auseinander gesetzt?
Leider scheint das noch etwas buggy zu sein.Nach einigem hin und her habe ich es zum laufen bekommen. Leider sind da meiner Meinung nach teilweise Fehler im Code.
z.B. __init__.py:
die whoami Methode ist nicht eingerückt und somit tut auch schon mal das pingpong Beispiel-Script nicht.Die Funktion load_photo benötigt im Code 2 Parameter def load_photo(self, peer, msg_id): Wenn man die Funktion aber direkt im telegram-cli aufruft wird nur die msg_id benötigt.
Nach dem ich die Funktion inCode# load_photo <msg-id> Downloads file to downloads dirs. Prints file name after download end def load_photo(self, peer, msg_id): """ Downloads file to downloads dirs. """ self.tgin.write(' '.join(['load_photo', msg_id,'\n'])) self.tgin.flush()
geändert habe, kann ich auch gesendete Bilder auf dem Raspi speichern.
Leider wir nicht wie im Kommentar beschrieben der filename ausgegeben.Die Dateien werden unter ~/.telegram-cli/downloads mit recht kryptischen Namen und ohne Dateierweiterung abgelegt.
Vielleicht hat ja noch jemand etwas damit rum gespielt und hat weitere Erkenntnisse.
Jetzt läuft mal ein Script im Hintergrund um mal zu sehen ob das ganze einigermaßen stabiel läuft.
Gruß Jochen
-
Hi,
habe mich mal frisch angemeldet, da ich hier einige wichtige Infos bekommen habe aber nun an einem Problem fest hänge. Und ich bin Linux Neuling...
Ich kann nach der Anleitung in einem vorriegen Beitrag, mit Telegram (die "pytg2 Version"), über das Terminal bzw. einem Bash Script, Nachrichten verschicken. Genau genommen verschickt mein Script einen Alarmtext, nimmt dann die Umgebungsgeräusche auf und schickt diese als mp3 gleich hinter her. Das funktioniert. Auch dann, wenn ich es mittels
aus einem Python Programm P1.py starte.
Nun zum Problem:
Möchte ich für die Alarmdetektion in P1.py auf die GPIO Pins zugreifen, muss ich P1.py mittels sudo starten. Dann funktioniert aber Telegram im Bash Script nicht mehr!!!Ich bekomme als Fehler:
*** error_code = 400, error = PHONE_NUMBER_INVALID
telegram-cli: queries.c:458: send_code_on_error: Assertion `0' failed.Teste ich es aus dem Terminal so:
Fragt Telegram mich nach meiner Telefonnummer. Anscheinend will Telegram dass ich mich neu registriere. Warum? Hat es durch sudo auf einmal keinen Zugriff mehr auf wichtige Dateien? Wie kann ich das umgehen?Und nun ein paar grundlegende Fragen:
Wo liegt der genau Unterschied zwischen der "normalen" Telegram Version für den Raspberry und der für Python geänderten? Wie kann ich Telegram direkt aus Python, ohne Umweg über ein Bash-Script, steuern bzw. die in __init__.py definierten Befehle nutzen. (Jip, habe wenig Ahnung von Phyton!)
Wenn jemand hierzu eine kurze Anleitung verfassen würde, wäre das sicher vielen Einsteigern eine Hilfe^^So, vielen Dank schon mal. Hoffe es ist ein lösbares, nicht peinlich banales Problem
-
Hallo, habe jetzt nach langem hin und her geschafft Telegram zum laufen zu bekommen.
Über den folgenden Befehl kann ich es starten:
./bin/telegram-climit msg user#XXXXXXXXXX Text kann ich dann auch was verschicken.
Das Screen und Lua Zeugs habe ich installiert und läuft jetzt auch fehlerfrei. Schwer tue ich mir ein Funktionierendes Lua Skript anzulegen.
Kann mir hier jemand ein paar Tips geben?wenn ich test1.lua anlege und mit folgendem fülle reicht das noch nicht oder?
function on_msg_receive (msg)
vardump( msg ) --Ausgabe von msg
if (msg.text == 'Hallo') then
send_msg (msg.from.print_name, 'Welt!')
return
endder Aufruf sollte dann ja so funktionieren oder?
screen -dmS TelegramCLI ~/tg/telegram -s ~/tg/test1.lua -k ~/tg/tg-server.pub -
Hey, ne da muss (soweit ich weiß) noch mehr rein.
Ich habe mir die test.lua einmal kopiert und habe dann die function on_msg_receive erweitert.Bei mir sieht die jetzt z.B. so aus:
Code
Alles anzeigenfunction on_msg_receive (msg) if started == 0 then return end if msg.out then return end if msg.text then mark_read (msg.from.print_name, ok_cb, false) end -- Ping Pong if (msg.text == 'ping') then if (msg.to.id == our_id) then send_msg (msg.from.print_name, 'pong', ok_cb, false) else send_msg (msg.to.print_name, 'pong', ok_cb, false) end return end -- Hallo if (msg.text == 'Hallo') then send_msg (msg.from.print_name, 'Welt!', ok_cb, false) return end end
Viele Grüße
Tobi
-
Hi,
bei meinem Skript antwortet er irgendwie nicht, warum auch immer:Code
Alles anzeigenstarted = 0 our_id = 0 function vardump(value, depth, key) local linePrefix = "" local spaces = "" if key ~= nil then linePrefix = "["..key.."] = " end if depth == nil then depth = 0 else depth = depth + 1 for i=1, depth do spaces = spaces .. " " end end if type(value) == 'table' then mTable = getmetatable(value) if mTable == nil then print(spaces ..linePrefix.."(table) ") else print(spaces .."(metatable) ") value = mTable end for tableKey, tableValue in pairs(value) do vardump(tableValue, depth, tableKey) end elseif type(value) == 'function' or type(value) == 'thread' or type(value) == 'userdata' or value == nil then print(spaces..tostring(value)) else print(spaces..linePrefix.."("..type(value)..") "..tostring(value)) end end print ("HI, this is lua script") function ok_cb(extra, success, result) end function on_msg_receive (msg) --Damit der "Gelesen Haken" erscheint if started == 0 then return end if msg.out then return end if msg.text then mark_read (msg.from.print_name, ok_cb, false) end if (string.lower(msg.text) == 'Hallo') then send_msg (msg.from.print_name, 'Welt!', ok_cb, false) end function on_our_id (id) our_id = id end function on_user_update (user, what) --vardump (user) end function on_chat_update (chat, what) --vardump (chat) end function on_secret_chat_update (schat, what) --vardump (schat) end function on_get_difference_end () end function cron() -- do something postpone (cron, false, 1.0) end function on_binlog_replay_end () started = 1 postpone (cron, false, 1.0) end
-
-
Hallo an alle!
Wollte gerne TGCLI kompilieren, bekomme aber bei "make" folgenden Error:
Zitat
make: *** No rule to make target 'tgl/scheme.tl', needed by 'auto/scheme.tl'. Schluss.Woran liegt das?
mFg perry
p.s.: Installation von libevent-dev fehlt!
-
-
Hallo Leute,
wie kann ich den Telegram Clienten & die test.lua als daemon laufen bekommen, also auch wenn ich die Konsole geschlossen habe, sollte der Client weiterhin erreichbar sein. Soweit läuft alles gut und auch ein Bild von meiner Cam wird per Aufforderung geschickt.
Es währe nett wenn mir da jemand nochmal etwas zu erklären könnte. https://github.com/vysheng/tg/wiki/Running-as-daemon habe ich getestet, komme jedoch leider zu keinem Ergebnis und werde auch aus der Anleitung nicht sonderlich schlau
-
Das mit dem Daemon hab ich auch nicht hinbekommen.
Ich mach es so, dass ich mir Screen installiert habe und dort einen Session aufbaue und Telegram darin starte. Läuft mehrere Wochen stabil so.Viele Grüße
Tobi
-
Hi,
Ich habe mit folgenden Tutorials Telegram auf meinem Pi Installiert.
http://www.tutorials-raspberrypi.de/webserver/tele…em-raspberrypi/
http://www.tutorials-raspberrypi.de/webserver/uebe…rry-pi-steuern/
Problem ist:
Ich bekomm es nicht das Telegram beim Booten mit gestartet wird.
weder mit
noch mit
Code
Alles anzeigen#! /bin/sh ### BEGIN INIT INFO # Provides: telegram # Required-Start: $local_fs # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: telegram ### END INIT INFO case "$" in start) echo "Telegram wird gestartet" # Starte Programm screen -dmS TelegramCLI bash -c 'sleep 5; /home/pi/tg/bin/telegram-cli -s /home/pi/tg/test.lua -k /home/pi/tg/tg-server.pub' ;; stop) ;; *) echo "Benutzt: /etc/init.d/telegram {start|stop}" exit 1 ;; esac exit 0
Per...
...startet Telegram ohne Probleme.
Beim Booten klappt es nach wie vor nicht.
Wie macht ihr das?
Habt ihr selbe Probleme?
Was mache ich verkehrt?lg
-
Habs heute auch mal installiert. Läuft soweit super. Nummer hab ich einfach meine Festnetznummer genommen. Sowohl vom Pi zum Handy als auch andersrum klappt total easy. Mal gucken inwieweit ich das noch für mein FHEM nutzen werde.Hallo würde ich auch gerne im fhem benuzen, has du da schon was hinbekommen ?
bei mir läuft es bis jetzt nur über Putty auf einen CubietruckGruß otto
-
Hallo zusammen, ich habe vorher Whatsapp genutzt um mich über den Fortschritt einiger Skripte zu informieren (Youtube-, Flickrupload etc.).
Da ging es mit einem einfachen Einzeiler. Mit Telegram hab ich dies bisher noch nicht geschafft Hat hier jemand eine Idee oder eine Lösung wie ich mit Telegram schnell und einfach aus Skripten heraus etwas schreiben kann?
Ansonsten läuft Telegram bei mir relativ flüssig und stabil mit Lua etc.Viele Grüße und frohes Neues
Tobi
-
Ich habe Probleme mit dem Tutorial von Tossi,
Ich bekomme einfach Telegram nicht kompiliert mit den neuen Dateien.
Ich habe mir mal die Header Datei angesehen und bin nicht sehr schlau daraus geworden.
Das ist die Ausgabe von sudo make :CodeIn file included from main.c:74:0: lua-tg.h:5:24: fatal error: structures.h: Datei oder Verzeichnis nicht gefunden compilation terminated. Makefile:48: recipe for target 'objs/main.o' failed make: *** [objs/main.o] Error 1
In der Header Datei habe ich den Verweis auf structures.h in tgl/tgl-structures.h verändert.
Das war die Ausgabe von sudo make:CodeIn file included from main.c:74:0: lua-tg.h:8:26: error: ‘struct message’ declared inside parameter list [-Werror] lua-tg.h:10:38: error: ‘struct secret_chat’ declared inside parameter list [-Werror] lua-tg.h:11:30: error: ‘struct user’ declared inside parameter list [-Werror] lua-tg.h:12:30: error: ‘struct chat’ declared inside parameter list [-Werror] cc1: all warnings being treated as errors Makefile:48: recipe for target 'objs/main.o' failed make: *** [objs/main.o] Error 1
Ich hoffe auf Hilfe da im Netz sehr wenig über dieses Verfahren steht.
-
Ich habe gerade erst vor zwei Tagen den Telegram Client auf meinem Pi kompiliert.
Wie hast du den Quellcode heruntergeladen?
wget? oder git clone?Anpassen musst du da eigenltich nichts!
Beim herunterladen des .tar.gz Archives mit z.b. wget gibts Probleme da das Archiv anscheindend nicht richtig (recursiv) gepackt wurde. Das heißt die ganzen Unterordner sind leer. Das war zumindest bei mir so.
Mit "git clone" und der Option --recursive wie auf der Github Seite beschrieben hat es dann aber problemlos geklappt.
-
Ich habe den Quellcode mit git clone --recursive https://github.com/vysheng/tg.git && cd tg
heruntergeladen.
Danach habe ich die 3 lua-tg.o lua-tg.c und lua-tg.h ins tg Verzeichnis kopiert und danach sudo ./configure && sudo make
ausgeführt.
Ich hoffe ich habe das in der richtigen Reihenfolge gemacht.
Ich gehe momentan davon aus das sich was auf Github geändert hat und die drei Dateien nicht mehr passend sind.
Telegram kann ich ohne Austausch der Dateien problemlos benutzen. -
Danach habe ich die 3 lua-tg.o lua-tg.c und lua-tg.h ins tg Verzeichnis kopiert und danach
Wozu machst du das? :sWenn du dich im Verzeichnis tg befindest einfach ./configure && make ausführen und gut ist.
-
-
Nicht das wir uns falsch verstehen ich meine das Tut von Tossi (letzter Post der Seite 2).
In dem Tutorial steht drin das man die lua-tg Dateien in das tg Verzeichnis kopieren soll.
Um Fehler auszuschließen habe ich vor ./configure und make sudo geschrieben. -
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!