Einige werden die sicherere WhatsApp Alternative Telegram kennen. Wer auf seinem Pi auch Nachrichten, Bilder und Videos senden und empfangen möchte, ist hier genau richtig. Dazu braucht es nur eine zusätzliche Simkarte zum SMS empfangen. In einem späteren Tutorial nutzen wir das Empfangen von Nachrichten zum Ausführen von Aktionen auf dem Pi.
Ich nutze den Telegram Messenger CLI für Ubuntu. Dazu müssen einige Pakete installiert werden:
sudo apt-get install libreadline-dev libconfig-dev libssl-dev libjansson-dev python-dev lua5.2 liblua5.2-dev libevent-dev lua-lgi
Nun wird das Paket von Git geladen und in den Ordner gewechselt.
git clone --recursive https://github.com/vysheng/tg.git && cd tg
Anschließend wird konfiguriert
./configure
und erstellt (das kann ein Weilchen dauern):
make
Nun muss nur noch die Handynummer und Vor und Nachname (die in dem Profil stehen sollen) angegeben werden. Achtung: Die Nummer muss im Format +4917612345678 angegeben werden. Der Nachname kann auch mit Enter übersprungen werden.
Tipp: Andreas hat in den Kommentaren darauf aufmerksam gemacht, dass auch eine Festnetznummer möglich ist. Dazu gibst du bei der Pin Abfrage call
ein und bestätigst mit Enter. Du wirst dann auf dieser Nummer angerufen und bekommst den Pin Code durchgesagt.
bin/telegram-cli -k tg-server.pub
Jetzt kannst du mittels einiger Befehle Nachrichten/Bilder/Videos senden oder Kontakte hinzufügen.
Eine Übersicht der Befehle gibt es hier.
Kontakt hinzufügen
add_contact <tel_nummer> <Vorname> <Nachname>
Bsp.: add_contact 4917612345678 Raspberry Pi
Nachricht Senden
msg <Kontakt> Text
Bsp.: msg Raspberry_Pi 'Hallo dies ist ein Test.'
Im Kontaktnamen werden Leerzeichen zu Unterstrichen. Mittels Tab kann man einen Kontaktnamen automatisch vervollständigen lasen.
Secure Chat starten
create_secret_chat <Kontakt>
Bsp.: create_scret_chat Raspberry_Pi
Suche
global_search <Suchbegriff>
Bsp.: global_search Hallo
Dabei werden alle Nachrichten nach dem/den Begriff(en) durchsucht.
Kontaktinformationen anzeigen
user_info <Kontakt>
Bsp.: user_info Raspberry_Pi
Alle Befehle gibt es wie gesagt hier.
179 Kommentare
Hallo, erst mal danke für das Tutorial bzw. die ganze Seite. Richtig klasse!
Ich bin heute schon den ganzen Tag am testen des Telegram Messenger auf dem Raspberry. Habe ihn nach deiner Anleitung aufgesetzt. Bis inklusive make funktioniert das auch.
Im nächsten Schritt müsste ich ja die Nummer registrieren:
./telegram -k tg-server.pub
Bei mir sieht es dann so aus:
pi@raspberrypi ~/tg $ ./telegram -k tg-server.pub
-bash: ./telegram: No such file or directory
so würde es gehen, aber da ist doch schon etwas falsch oder?
pi@raspberrypi ~/tg $ ./bin/telegram-cli
Hi,
erst einmal danke für das Lob 🙂
In der neuen Version des telegram Client wurde die Datei umbenannt. Ich habe das im Tutorial geändert, danke für den Hinweis.
PS: Der Punkt am Anfang des Befehls gibt an, dass der Pfad relativ von dem aktuellen Pfad genommen wird. Befindest du dich also im Homeverzeichnis, spielt es keine Rolle ob du ./pfad/datei bzw. /pfad/datei oder einfach pfad/datei aufrufst. Wenn du dich allerdings im Ordner tg aufhälst, bewirkt der Punkt, dass /tg/bin/telegram-cli aufgerufen wird (ohne Punkt wäre es /bin/telegram-cli).
Am besten du schaust mittels cd verzeichnis && ls wo sich die Datei telegram-cli aufhält.
Ich hoffe ich konnte dir helfen 🙂
Super danke. Dann wende ich mich mal Teil 2 mit den Skripten zu = )
alles klar, wenn Fragen auftauchen, am besten immer gleich stellen. Das hilft mir auch die Tutorials besser zu gestalten.
Hey erstmal auch ein Lob von meiner Seite! Super Tutorial!
Ich hab allerdings auch ein Problem.
Wenn ich versuche den Befehl make auf das Verzeichnis auszuführen bekomme ich immer gesagt, dass nichts zutun sei:
pi@raspberrypi ~/tg $ sudo make
make: *** No targets specified and no makefile found. Stop.
Ich hab schon gefühlt das halbe Internet abgesucht aber nicht gefunden, was das Problem gelöst hat.
Hat hier jemand vllt eine Idee?
Wäre euch sehr dankbar 🙂
auch der Befehl sudo make * bringt nichts 🙁
Hi, danke für das Lob 🙂
Kannst du mal mit
ls
den Inhalt des Ordners anzeigen lassen? Offensichtlich fehlt die makefile. Hast du davor./configure
ausgeführt?Ja also es existiert eine Makefile.in aber wenn ich diese mit make ausführen will kommt Nothing to be done.
./configure hab ich jetzt mindestens 10 mal aus verzweiflung gemacht 😀
Hast du auch schon mal versucht das gesamte Verzeichnis (/tg) zu löschen und nochmal zu klonen? Ggf kannst du den manuellen Download versuchen:
wget https://github.com/vysheng/tg/archive/master.zip -O tg-master.zip
unzip tg-master.zip && cd tg-master
mv tg-master tg
(die letzte Zeile ist nur zum umbenennen, damit du nicht jedes Mal den Verzeichnisnamen aus dem Tutorial umändern musst 😛 )
Oh ja sehr gut!
Viel viel Dank!! jetzt funktioniert es 🙂
Find ich cool dass du hier so aktiv bist
sehr gut, das freut mich 🙂
Kann es sein dass der make Befehl EWIG dauert?
ja, denn beim make wird erst alles kompiliert (das ist z.B. auch beim Minecraft Server für das Pi so).
Hallo,
bei mir hängt es leider bei make. Es kommtfolgende Meldung
make: *** No rule to make target ‚tgl/scheme.tl‘, needed by ‚auto/scheme.tl‘. Schluss.
Ich habe alles versucht was in den kommentaren steh. Leider ohne Erfolg.
Ich hoffe du kannst mir helfen.
Danke
Patrick
Hi,
hast du mal
sudo make
versucht?Ich denke, dass die Datei
tgl/scheme.tl
nicht existiert, kannst du das mal nachschauen?Hi,
ja hab ich auchschon probiert. Ja die Datei fehlt. Die Datei ist nicht vorhanden.
Wie komme ich zu der Datei?
Danke
Entweder du updatest das ganze Verzeichnis. Wechsel dazu in den Telegram Ordner und gib ein:
git pull origin
bzw.git remote update
Oder du lädst die nicht vorhandenen Dateien von hier: https://github.com/vysheng/tg
Danach musst du erneut konfigurieren. Make sollte dann auch funktionieren.
Komischerweise sind die Verzeichnisse tgl und tgl/t-parser leer, wenn man sie aus dem Repository klont. Es funktioniert, wenn man die Verzeichnisse manuell aus den jeweiligen Repos runterläd.
git clone --recursive https://github.com/vysheng/tg.git && cd tg
damit sollte es auch gehen
Hallo,
das letzte hat jetzt endlich geklappt :-). Heißt aber
git clone --recursive
… .Bis ich darauf gekommen bin… Super freut mich, bin mla gespannt wie es weiter geht :-). Bin kein Linux Profi.
Nochmlas danke für die schnelle Hilfe.
Super Tutorial,
funzt allses soweit. verzweifle nun daran wie ich aus python eine nachricht versenden kann?
von Anfang bis git clone — alles ausprobiert.
bei ./configure kommt zum Schluss: configure: error: no libevent found
~/tg $ make
make: *** keine Targets angegeben und keine >>make<<-Steuerdatei gefunden. Schluss.
Ich habe auch:
$ sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev make
oder
sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev
$ git clone https://github.com/vysheng/tg.git
$ cd tg
$ ./configure
$ make
mit ähnlichem Ergebnis probiert.
Da wurde wohl beim configure keine make Datei angelegt. Evtl. fehlen hier benötigte Dateien.
Versuch mal das Verzeichnis zu löschen (
sudo rm -r tg
) und lade es erneut mit Parameter:git clone --recursive https://github.com/vysheng/tg.git && cd tg
danke, ich habe wohl zuviel experimentiert. Habe ein sauberes Image zurück gespielt und dann nach Deiner Anleitung neu installiert.
Make lief und ich konnte danach die Telefonnummer und den Code eingeben.
./telegram wird allerdings nicht gefunden.
tg/bin beinhaltet 3 Dateien: generate telegram-cli tl-parser
Freut mich, dass es nun funktioniert.
Inzwischen wurde die Datei in
telegram-cli
umbenannt, als ich das Tutorial geschrieben habe, hieß sie nochtelegram
. Habe es aber mal geändert, danke für den Hinweis 🙂nach make und nach der Eingabe der Daten und code mit
bin/telegram-cli -k tg-server.pub
konnte ich Kurznachrichten hin und her senden. Ich habe dann Telegram mit quit beendet.
Jetzt müsste ja der Telegram Client irgendwie wieder zu starten sein.
./telegram gibt es bei mir nicht und telegram-cli bringt den Fehler
*** No public keys found
Hast du es mit
bin/telegram-cli -k tg-server.pub
nochmal probiert? Allen Anschein nach will es ja den Public-Key, den du ihm damit übergibst.Habe ich probiert, identische Fehlermeldung. Kann auch nicht noch einmal etwas eingeben.
Ich lösche alles und fange noch eimal von vorne an.
Nachtrag zu *** No public keys found
Die Sache funktioniert, es kommt auf den Pfad an.
kann mir das jemand erklären ? siehe:
http://pastebin.com/Dek7kcAG
Hallo Gerald,
wenn ich deine Frage richtig verstehe, willst du wissen, warum es aus dem Homeverzeichnis nicht klappt?
Es wird ein Public-Key benötigt, den es (wenn nicht explizit angegeben) dort sucht, wo du dich gerade befindest. Du kannst aber durch Angabe des Key-Pfades die telegram-CLI von überall aufrufen:
/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub
Vielen Dank Felix, jetzt klappt alles !!!
Sehr gut 🙂
Hallo,
ich bekomme bei diesem Befehl ( bin/telegram-cli -k tg-server.pub) immer folgende Fehlermeldung:
change_user_group: can’t find the user telegramd to switch to
Wie behebe ich das?
im Ganzen sieht das dann so aus:
root@Motor:/tg# bin/telegram-cli -k tg-server.pub
change_user_group: can’t find the user telegramd to switch to
Telegram-cli version 1.1.1, Copyright (C) 2013-2014 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license‘.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license‘ for details.
I: config dir=[/root/.telegram-cli]
Telephone number (with ‚+‘ sign): +49123456789
Hast du die Nummer nur unkenntlich gemacht oder so eingegeben?
Hilft dir das hier evtl. weiter?
Hallo,
Funktioniert das mit einer Österreichischen Nummer auch??? (Vorwahl 43 anstatt 49)
Ja sollte funktionieren.
Kleiner Hinweis noch ergänzend, bei mir hat „config“ das makefile nicht erzeugt das die „libjansson-dev“ noch gefehlt hat. Lässt sich aber einfach mit „sudo apt-get install libjansson-dev“ nach installieren….
Muss man für den Raspi sich dann eine extra SIM-Karte zulegen, oder reicht es, die selbe Nummer wie auf dem Smartphone zu nehmen?
lg
Eine extra Nummer bietet sich an. Zum testen kannst du aber auch deine bisherige Numemr verwenden (ist aber nicht zu empfehlen, da du somit an dich selbst Nachrichten schickst).
Hallo Felix ich habe ein ähnliches Problem wie die anderen Nutzer
Wenn ich den „make“ befehl ausführe bekomme ich folgenden Fehler Meldung:
(make: *** No targets specified and no makefile found. Stop.)
Alle Tipps die du den anderen gegeben hast habe ich auch schon ausprobiert doch leider klappt keiner davon.
Freue mich über schnelle Antwort
🙂
!Nur um es vorweg zugreifen ich habe die fehlende Makefile Datei nicht und auf der Website wo man sich Telegram herunterladen soll ist in der Übersicht auch keine Makefile Datei enthalten .
Kann es sein das in dem Paket einfach nur diese Datei fehlt ?
Alex hatte ein ähnliches Problem, bei ihm hat dies geholfen:
„Kleiner Hinweis noch ergänzend, bei mir hat “config” das makefile nicht erzeugt das die “libjansson-dev” noch gefehlt hat. Lässt sich aber einfach mit “sudo apt-get install libjansson-dev” nach installieren….“
Schau mal, welche Fehler bei dir das config liefert.
Danke schon mal für diesen mega Support 🙂
Also ich habe jetzt libjansson-dev installiert und habe das als Ausgabe bekommen :
0 upgraded, 0 newly installed, 0 to remove and 44 not upgraded.
Wenn es vielleicht wichtig ist ich benutze den Raspberry Pi B2.
Was ich eben gesehen habe ist das er mir den fehler bei configure gibt:
configure: error: No supported python lib version found. Try –disable-python
Vielen dank schon mal im Voraus
dann versuch doch das config eben genau mit „-disable-python“ hinten dran.
Ich habe soweit alles installiert doch leider kommt kein Makefile in der liste wenn ich „ls“ eingebe.
Habe mal alle Datei namen Kopiert vllt mache ich ja einen Grundlegenden Fehler ? :/
ax_lua.m4 config.h.in configure.ac interface.c LICENSE lua-tg.c m4-ax_gcc_builtin.m4 Makefile.tl-parser python-types.c README.md start-telegram-daemon test.lua
ax_python.m4 config.log debian interface.h LICENSE.h lua-tg.h main.c mime.types python-types.h README-PY telegram-cli.spec tgl
bootstrap config.sample event-old.h json-tg.c loop.c m4_ax_check_openssl.m4 Makefile.in python-tg.c README.es rpm telegram-daemon tg-server.pub
CHANGELOG configure gentoo json-tg.h loop.h m4_ax_check_zlib.m4 Makefile.tgl python-tg.h README-LUA server.pub telegram.h tg-test.py
Ich habe den Telegram-Messenger auf 2 verschiedenen Rasperry Pi laufen und unter der SELBEN Telefonnummer registriert und siehe da er mach beim 2. einfach hinter die Nummer eine 1 dran. Sieht witzig aus ist aber so.
Installiert man den TG ein 2. Mal auf auch auf dem selben RPI macht er das so.
Man kann aber den Account auf der TG Webseite löschen dann geht wieder die Nummer ohne der 1 dahinter.
Ja, das gute an Telegram ist ja, dass es auf verschiedenen Geräten gleichzeitig lauufen kann. Ich habe es z.B. sowohl auf dem Handy, PC als auch auf dem Pi laufen. Die Nachrichten werden von allen Geräten empfangen, nur der Private Chat ist lediglich von einem Gerät abrufbar.
Hallo Felix,
Danke für das Tutorial, nach etwas Startschwierigkeiten hat es auch bei mir geklappt.
Nun ist nur die Frage, wie kann ich WhatsApp auf dem Raspberry nach einem Neustart wieder starten?
Hallo Randy,
das Tutorial handelt sich um Telegram, nicht WhatsApp. Schau mal in diesem Tutorial, da habe ich zwei Möglichkeiten erwähnt.
LG Felix
Hallo Felix,
Bitte entschuldige habe natürlich Telegram gemeint… bin ein wenig verwirrt…
habe es nun aber herausgefunden!
Hallo Felix,
tolle Arbeit, vielen Dank. Hast du vielleicht einen Tip, wie ich einen Zeilenumbruch erzwingen kann? n funktioniert leider nirgends, weder im lua, noch im py oder sh script – einzige Möglichkeit die ich seh wäre mein Output erst in eine Textdatei zu schreiben und deren Inhalt zu verschicken. Das find ich ziemlich umständlich. Vielleicht hast du ja einen passenden Tip parat…
Hallo Sven,
sehr gute Frage, damit hatte ich mich noch nicht beschäftigt. Im Shell Skript sollte ein Zeilenumbruch mit
möglich sein. In Python sollte
n
eigentlich in Strings klappen, esseidenn die telegram-cli unterstützt das nicht…Hallo, auch ich war am Verzweifeln: „make“ hatte bei mir keine Funktion, ich habe alle für mich plausiblen und denkbaren Vorschläge aus den Vorpost übernommen, aber es kam immer ein Fehler. Nun habe ich mit „sudo apt-get install python-dev“ scheinbar fehlende python-Pakete nachinstalliert – und siehe da: „make“ lief durch. Vielleicht hat ja auch mal jemand anderes das Problem.
This worked for me. Only fix on internet. Thank you.
danke dir für das schöne Tutorial. Leider bekomme ich beim sudo apt-get … folgende Fehlermeldung:
hab ein bisserl rumprobiert es betrifft das “sudo apt-get install python-dev”
was kann ich da tun?
vielen Dank für deine Hilfe
Führe mal folgendes aus:
Falls es danach auch nicht klappt sehen wir weiter 🙂
Hallo,
wahrscheinlich eine triviale Frage:
Wie funktioniert das mit der SIM Karte. Wie verbinde ich die SIM Karte mit dem Raspberry PI?
Matthias
Brauchst du nicht. Setz sie einfach in dein Handy ein, empfang die SMS und fertig. Danach brauchst du sie nicht mehr.
Hallo,
ich bekomme wenn ich „make“ ausführe immer nur diese Fehlermeldung:
gcc -I. -I. -I./tgl -g -O2 -I/usr/local/include -I/usr/include -I/usr/include -I/usr/include/lua5.2 -I/usr/include/python2.7 -DHAVE_CONFIG_H -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-deprecated-declarations -fno-strict-aliasing -fno-omit-frame-pointer -ggdb -Wno-unused-parameter -fPIC -iquote ./tgl -c -MP -MD -MF dep/auto-autocomplete.d -MQ objs/auto-autocomplete.o -o objs/auto/auto-autocomplete.o auto/auto-autocomplete.c
Kann einer damit was anfangen? Irgendwie wird „make“ auch nicht fertig.
Gerald
Halihalo,
ich habe ein „weiteres Problem“
das senden von Nachrichten vom Pi funktioniert bei mir leider nicht… Sieht wie folgt aus:
http://pastebin.com/eciuCzVB
Wenn ich jedoch mit dem „Pi“ mittels dem test.lua „kommuniziere“ antwortet er mir darauf…
Der Name der Funktion hat sich geändert (siehe hier: https://github.com/vysheng/tg#supported-commands ) und ist nun
msg 'Contact' 'Text'
, stattmsg_send
Auch das hatte ich bereits ausprobier, da bekomme ich folgenden Fehler
FAIL: 38: can not parse arg #1
Hast du mal versucht den Namen in Anführungszeichen zu setzen (
msg 'Name' 'Text'
)? Ob der Name stimmt kannst du durch drücken von Tab herausfinden (Autovervollständigung). Sind der Sender (Pi) und Empfänger gleich (eingeloggter Account, Name)? Wenn ja, kann das einen Fehler auslösen.Btw: Du versuchst ja bereits folgendes, was dir einen Fehler gab. Also gibt es wohl ein Problem mit dem Nutzernamen (nicht vorhanden, falsch geschrieben oder Anführungszeichen, etc.)
Vielleicht auch wichtig (neue Version):
Fourth, in peer_name ‚#‘ are substitued to ‚@‘. (Not applied to appending of ‚#%d‘ in case of two peers having same name).
Merkwürdiger weite hatte es eben einmal funktionier mit
msg Fillip_iPhone Test
dann bin ich raus gegangen und wieder rein, selber fehler.
Nein der Pi hat ne andere Nummer wie mein iPhone, und der Name ist auch vorhanden, den habe ich ja auch in der test.lua drinnen stehen… Gehe jetzt erst mal schlafen, den Kopf frei kiegen 😉 Ich danke dir aber schon mal hierfür und auch für das andere Problemchen 😉
Du scheinst mit dem Problem zumindest nicht allein zu sein: https://github.com/vysheng/tg/issues/548
Ggf. lohnt es sich noch direkt beim Entwickler nachzufragen 🙂
So weiter geht es, ist schon merkwürdigt, aber wie du schreibst bin ich kein einzelfall. Wenn ich erst „contact_list“ ausführe dann funktioniert es meist immer… Komisch, komisch…
Ist es denn eigentlich auch möglich eine Nachricht zu senden bzw den Befehl in ein Skript einzubinden? Bsp wenn der Pi gestartet ist dieses im Crontab zu hinterlegen…
Fotos und Videos kannst du auf jeden Fall verschicken (siehe Commands) und auch Multimedia Datei sollen möglich sein (
fwd_media
), habe ich aber noch nicht ausprobiert.Bzgl deines anderen Problems würde ich einfach mal einen Thread im Support Forum aufmachen und schauen was der Entwickler sagt.
Ich glaube da haben wir uns missverstanden bzw ich habe meine frage falsch formuliert… Ich möchte Quasi ein Skript erstellen, wenn ich dieses Ausführe soll eine Nachricht an jemanden gesendet werden…
Ja das ist auch möglich (schau dir dazu einfach mal das send-script an). Du rufst die telegram-cli auf und übergibst Kontakt, Text, etc.
EDIT: Diesen Befehl habe ich gesucht, nun gefunden 😀
/home/pi/tg/bin/telegram-cli -k /home/pi/tg/tg-server.pub -W -e „msg Fillip_iPhone Hallo“
Hallo ich wollte mal fragen ob mir jemand helfen kann ich habe folgendes Problem wenn ich meinem Pi einen Befehl sende dann führt er den aus und dann hängt sich Telegramm sich auf. Es funktioniert es wieder wenn ich den Pi neu starte.
Ich habe das gleiche Problem. Es funktionier einige male, aber dann hängt telegram-cli. Erst wenn ich den Prozess beende und wieder starte, dann funktioniert es wieder. Ich habe auch einen Watchdog eingebaut, der überprüft, ob der Prozess noch läuft. Aber das bringt leider auch nichts, da der Prozess noch in der Prozessliste steht.
Falls du dir sicher bist, dass es ein Fehler im Programm ist, kannst du den Erstellern auf Github ja mal mitteilen 🙂
Mein Pi B+ hängt sich beim make command immer auf 🙁 100% CPU und dann ist schluss. Habe ihn grade 5h laufen lassen. Immer noch nicht weiter
Hi!
Erstmal geiles Tutorial!
Leider habe ich nicht nur lob sondern auch eine Frage 😉
Und zwar möchte ich das ich bei dem Begriff „foto“ ein Foto mit der angeschlossenen webcam erstellt wird.
Das funktioniert auch wunderbar mache ich so:
os.execute(„fswebcam -r 640×480 -d /dev/video0 /home/pi/image.JPG“)
Danach soll er mir das Foto schicken mit:
send_photo(msg.from.print_name, ‚/home/pi/image.JPG‘)
Aber das scheint nicht zu funktionieren…
Ich bekomme einfach keine Antwort oder nen Foto zurück.
Mache ich das ganze am Pi mit:
send_photo Kontakt_Name /home/pi/image.JPG
läuft alles wie geschmiert…
Irgend eine Idee wie ich das lösen kann?
LG Tobias
Erstmal super Tutorial, aber ich habe ein Problem. Nachdem ich eine Handynummer eingegeben habe wird von mir ein Pin gefordert. Diesen bekomme ich allerdings nicht auf mein Handy geschickt. Was muss dort eingegeben werden?
Der Pin Code wird von Telegram verschickt, um einen neuen Client anzumelden. Du kannst versuchen, ihn nochmal anzufordern, aber ohne Code kann der Client nicht aktiviert werden.
Servus, bin nun seit einigen stunden bei der Installation allerdings bekomme ich jetzt bei „make“ eine fehlermeldung und zwar:
tgl/tl-parser/crc32.c:25:19: fatal error: crc32.h: No such file or directory
#include „crc32.h“
^
compilation terminated.
Makefile.tl-parser:4: recipe for target ‚objs/crc32.o‘ failed
make: *** [objs/crc32.o] Error 1
hoffe ihr könnt mir helfen, ja die datein fehlen aber ich finde sie nirgends auf Github :/
hat sich erledigt hab noch mal Clone gemacht und scheinbar hat er jetzt alles
Hammer Tutorial echt klasse!!
Nur ein kleines Problem hab ich… 😀 hab alles so gemacht wie du es hier in die Tuts reingeschrieben hast, alles nur wenn ich jetzt in meinem Handy „reboot“ oder „shutdown“ (Egal ob groß oder klein geschrieben) passiert einfach garnichts, die Nachricht kommt auf dem Pi an aber er rebootet dann nicht oder schaltet sich aus.. muss ich noch irgendwelche scripts schreiben ö.ä.? wie gesagt hab alles 1 zu 1 wie du es hier in den Tuts reingestellt hast.
Hast du deine Nummer als Kontakt hinzugefügt und die Zeile entsprechend angepasst?
Ups sorry.. war keine Absicht hab die zwei Tuts verwechselt und hab mich gewundert warum der Kommentar nicht auftauchte -.- Meine Nummer habe ich eingespeichert, ist als „jan“ im Bpi drin, welche Zeile meinst du genau, die ich anpassen muss?
Im anderen Tutorial ist es Zeile 14 im lua Skript.
ja danke, hab ich gerade gesehen -.- weng arg peinlich gerade,ich dachte erst das wär ein Befehl an sich naja 😀 jedenfalls…. klappt das jetzt immer noch nicht so ganz.. Wenn ich den screen befehl starte, was soll dann genau passieren? bzw was muss ich danach machen?
Dann läuft es im Hintergrund. Dein Pi sollte dann online sein.
ok also sorry wenn ich irgendiwe nerve oder so.. kann es daran liegen, dass ich nach dem „make“ befehl meine Nummer als erstes eingegeben habe? Oder ist mit der „phone number: “ die Nummer des Pis gemeint, das man quasie eine erfinden muss?
Du brauchst zwei Nummern/Simkarten. Eine für das Pi (gibst du nach dem make Befehl an) und deine Handynummer, die du als Kontakt speicherst. Steht aber auch so im Tutorial.
achsoooo….. aber die Sim karte für den Pi muss jetzt nicht irgendwie mit dem Bpi verbunden sein oder? Also über ein Modul etc.? sondern ich füg die Nummer einer aktuellen, aktivierten Sim karte ein und die wird dann benutz um mir auf meine Handynummer eine Nachricht zu senden?
Achso und übrigens.. Find ich toll das du sogar nach ein paar Jahren immernoch auf Kommentare hier antwortest
Du musst die zweite Simkarte nur einmal in irgendein Handy stecken um den Code zum aktivieren zu empfangen. Danach kannst du sie raus nehmen und beiseite legen (und deine normale Simkarte wieder einstecken). Solange du Telegram auf dem Pi nicht löschst bleibt es aktiviert. Telegram auf dem Pi hat dann die entsprechende Rufnummer der zweiten Simkarte, an die du auch schreibst (z.B. im Handy als Kontakt „Raspberry“ speichern). Auf dem Pi speicherst du deine normale Nummer als Kontakt und passt das Skript entsprechend an.
aaahh ok danke jetzt hats auch der letzte Dorftrottel verstanden 😀 Danke Danke Danke Danke
Kein Problem 😀
Ok also bei mir will es immer noch nicht gehen… hab jz alles neu drauf und so gemacht wie du gesagt hast.. muss der Kontakname in der einen Datei in den einfachen Anführungszeichen : “ sein oder nicht? hab den jetzt genau so wie ich mich eingespeichert hab drin mit _ und es geht trd nichts
Moin,
ich bekomme den Fehler FAIL 38: can not parse arg #1. Hängt das damit zusammen, dass der Vorname bei mir aus zwei Teilen besteht? und die kann ich das ganze dann wieder beheben, ein löschen ist nämlich nicht möglich.
Danke im Voraus!
Huenerheld
okay habe den Fehler selbst gefunden. Bei arg Fehlern lag es bei mir daran, dass Leerzeichen durch einen Unterstrich zu ersetzen sind
Hallo, zunächst DANKE für die guten Anleitungen.
Ich wollte Telegram Messenger installieren und bekomme beim Versuch mich Anzumelden (Telefonnummer, Name…) folgende Fehlermeldung:
pi@raspberrypi:~/tg $ bin/telegram-cli -k tg-server.pub
Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license‘.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license‘ for details.
Telegram-cli uses libtgl version 2.1.0
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
I: config dir=[/home/pi/.config/telegram-cli]
> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0′ failed.
SIGNAL received
3 X Versucht (neu angefangen) immer gleiches ergebniß!
Danke für die Bemühungen!
Hallo,
ich hab das gleiche Problem wie du und weiß auch keinen Rat.
Wäre ebenfalls dankbar wenn jemand eine Lösung finden würde.
Mir gehtes genauso wie euch beiden
Hallo! Habe leider das gleiche Problem!
Hey,
ihr scheint nicht allein zu sein: https://github.com/vysheng/tg/issues/925
Da das Problem erst seit kurzem aufzutreten scheint, würde ich mal abwarten, was auf Gihub von dem Entwickler geraten wird.
LG Felix
Hi hab das selbe Problem
telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0′ failed.
LG
Stefan
Ihr scheint nicht die einzigen zu sein, die das Problem haben 🙁
https://github.com/vysheng/tg/issues/925
Das Problem ist scheint immer noch zu bestehen.
Ich bekomme auf jeden Fall die gleich Fehlermeldung.
> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0′ failed.
SIGNAL received
Ich bin heute auch in das Problem mit den mtproto-utils.c gelaufen und habe es mit einem unsauberen Hack erstmal temporär umgangen, bis die Gemeinde einen sauberen Fix liefert.
Wie habe ich (als Basketeer) unter
https://github.com/vysheng/tg/issues/1070
beschrieben. Wie gesagt, nicht gerade die sauberste Lösung, aber zumindest konnte ich den TG-Client so testen. Läuft! 😉
Hallo,
Super Anleitung, aber nach dem Ausführen von make bekomme ich folgenden Fehler:
gcc objs/main.o objs/loop.o objs/interface.o objs/lua-tg.o objs/json-tg.o objs/python-tg.o objs/python-types.o libs/libtgl.a -L/usr/local/lib -L/usr/lib -L/usr /lib -rdynamic -ggdb -levent -ljansson -lconfig -lz -levent -lreadline -llua5.2 -lm -ldl -lssl -lcrypto -ldl -lpthread -lutil -o bin/telegram-cli
Ich habe bereits das Verzeichnis neuinstalliert und alles mögliche probiert. Wie bekomme ich das Problem gelöst?
Hey,
schau mal hier, hilft dir das weiter? Derjenige hatte das selbe Problem: https://github.com/vysheng/tg/issues/597
Andernfalls auch das: https://github.com/vysheng/tg/issues/925
Den zweiten Link hab ich vorher schon probiert; der hilft irgendwie nicht weiter. Beim ersten werde ich noch nicht ganz schlau daraus, was ich eingeben muss. Also was muss ich da in die Komandozeile eintippen?
Also, der Hack des zweiten Links hat jetzt doch funktioniert.
wegen dem fehler
same error for me .. I had to comment line 101 of tgl/mtproto-utils.c and re-run make to make it work!
sudo nano tgl/mtproto-utils.c zeile 101 auskommentieren
//assert (0); // As long as nobody ever uses this code, assume it is broken. <—
danach cd ..
und erneut make
Auch von mir vielen Dank für das Tutorial.
Nach dem Auskommentieren der Zeile 101 in mtproto-utils.c und re-make
funktioniert telegram-cli auch bei mir.
Bisher war hier immer die Rede von Handy-Nummern, bei mir funktioniert auch
die Variante mit Angabe der Festnetznummer im gleichen Format.
Bei der Pin-Abfrage in Kleinbuchstaben:
call
eingeben und mit Enter bestätigen.
Ihr werdet dann auf dieser Festnetznummer angerufen und bekommt die Pin angesagt!
Jetzt die angesagte Pin eingeben und mit Enter bestätigen.
Cooler Trick, Andreas! Danke fürs Teilen, ich werde das im Artikel auch erwähnen 🙂
Ich musste Zeile 115 auch Auskommentieren für spätere Nutzter mit diesem Problem 🙂
leider klappt das mit der Festnetznunmmer bei mir nicht
„Incorrect phone numer“
Idee?
Landes- und Ortsvorwahl richtig angegeben?
Auch von mir vielen vielen Dank für das Tutorial.
Ich hänge jedoch an der Stelle Telefonnummer registrieren.
„Incorrect phone numer“
Ich habe +49176… sowie Festnetznummer +4954… probiert, keine Chance.
Hat da jemand einen Hinweis für mich?
Ansonsten gebe ich mich erst einmal geschlagen…
Ist auf die Nummer Telegram schon registriert? Wenn nicht, kanns du mal versuchen am Handy bzw. PC es zu aktivieren (Man kann mehrere verbundene Clients haben).
Zur Verfolständigung (Nummer ausge-x-t):
1> Ich bin mit Jessie unterwegs
2> Ausgabe telegram-cli -k tg-server.pub -W
Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license‘.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license‘ for details.
Telegram-cli uses libtgl version 2.1.0
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
I: config dir=[/home/pi/.telegram-cli]
phone number: +4954xxxxxxxxx
*** 1470423044.363636 Incorrect phone number
phone number: +49176xxxxxxxx
*** 1470423787.116097 Incorrect phone number
Ich bin dankbar für jeden Hinweis 🙂
ist deine Handynummer bei Telegram registriert? Sprich hast du vorher dir die telegram app aufm handy geholt und diese nummer bei telegram regestriert?
Ja, hatte ich.
Ich hatte auch noch das problem, dass mir dieser Fehler raus kam: „telegram-cli: tgl/mtproto-utils.c:101 bn2ull: assertion `0′ failed“
Nach kurzem googlen hab ich den Fehler folgendermaßen behoben:
Console öffnen und dort das eingeben: sudo nano tgl/mtproto-utils.c mit enter bestätigen.
In der Datei die zeilen 101 (assert (0); // As long as nobody ever uses this code, assume it is broken.)
und die zeile 115 /assert (0); // As long as nobody ever uses this code, assume it is broken.) suchen und entweder löschen oder in meinem falle als komentar setzen. Sprich so abändern:
//assert (0); // As long as nobody ever uses this code, assume it is broken.
Wichtig sind die beiden // am anfang vor den beiden Zeilen.
Anschließend wieder in den tg ordner wechseln und mit make neu binden. Fertig 🙂
Habe das soweit alles installiert, jedoch wird meine Festnetznummer nicht angenommen.
root@pi3:~/tg# bin/telegram-cli -k tg-server.pub
change_user_group: can’t find the user telegramd to switch to
Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license‘.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license‘ for details.
Telegram-cli uses libtgl version 2.1.0
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
I: config dir=[/root/.telegram-cli]
phone number: +492XXXXXXXXXX
*** 1472133005.062142 Incorrect phone number
phone number: SIGTERM/SIGINT received
halt
root@pi3:~/tg#
Hallo,
Ich hatte das gleiche Problem. Festnetznumme wird nicht akzeptiert.
Siehe [Patrick sagt: 5. August 2016 um 21:26]
und [Patrick sagt: 5. August 2016 um 21:35]
Aber alle Versuche eine Mobilfunknummer zu verwenden sind bei mir erfolgreich!
Eingabe in der Form [49176xxx…]
Nach den erfolglosen Versuchen mit Festnetznummer habe mir einfach ein Prepaid-Karte besorgt und fertig.
FUNKTIONIERT 😉
Ich habe schon versucht mit den Telegram Jungs Kontakt aufzunehmen, seit 3 Tage keine Antwort. Geht die Registrierung einer Festnetznummer überhaupt noch? Wenn ja, wie?
Hallo,
ich habe ein Problem beim Aufruf vom Telegram.
Wenn ich nach der Installation „bin/telegram-cli -k tg-server.pub“ eingebe, bekomme ich die Fehlermeldung „Speicherzugriffsfehler“!
Wenn ich es mit „sudo bin/telegram-cli -k tg-server.pub“ versuche, springt er nur in die nächste Zeile mit einem Prompt.
Im Prozessmanager ist kein Prozess vom Telegram zu finden.
Kann mir jemand weiter helfen?
Vielen Dank
Ich habe eine Antwort vom Support bekommen, es werden keine Festnetz Nummern mehr unterstützt.
Hallo zusammen,
leider ist mein config file leer:
# This is an empty config file
# Feel free to put something here
Das ist ja super dokumentiert. Großes Lob an euch!
Ich habe aber eine Frage nachdem ich bin/telegram-cli -k tg-server.pub eingebe kommt bei mir:
Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license‘.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license‘ for details.
Telegram-cli uses libtgl version 2.1.0
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
I: config dir=[/home/pi/.telegram-cli]
> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0′ failed.
SIGNAL received
Aber danach kann ich weder ein Kontakt eingeben noch bekomme ich eine Verifizierungsnummer oderso. Was sollte ich eigentlich danach tun? Ich hoffe ihr könnt mir helfen 😉
Hilft dir dieser Thread weiter? https://github.com/vysheng/tg/issues/1070
Die Entwickler scheinen das Tool dauerhaft zu aktualisieren, wobei manchmal (neue) Fehler auftreten. Ich bin da selbst auch nicht immer up2date, deshalb ist es bei so speziellen Problemen immer besser direkt im Entwicklerforum nachzufragen.
Hi, ich möchte mit meinem Raspberry Pi eine smarte Türklingel bauen/programmieren und wollte deshalb fragen ob es irgendeine Möglichkeit gibt, DIREKT über ein Python Skript eine Message an eine bestimmte GRUPPE in Telegram abzusetzen?
Viele Grüße,
MarvNet
Du kannst die telegram-cli und andere Shell Befehle direkt aus Python per
os.system
aufrufen.Hallo,
wann kommt die Abfrage nach der Handynummer?
ich habe
./configure gemacht
danach das make
Aber bei mir fragt er nicht nach einer Handynummer.
Kann mir jemand weiterhelfen?
Hallo,
ich habe ein Problem mit dem Eingeben der Nummer;
wenn ich bin/telegram-cli -k tg-server.pub ausführe, kommt bei mir immer folgende Meldung:
change_user_group: can’t find the user telegramd to switch to
Telegram-cli version 1.4.1, Copyright(c) 2013-2015 Vitaly Valtman
[…]
I: config dir=[/root/.config/telegram-cli]
>telegram-cli: tgl/mtproto-utils.c : 101: BN2ull: Assertion ‚0‘ failed.
SIGNAL received.
Die tg-server.pub wird erstellt, ich werde aber nicht nach Name, Nummer o.Ä. gefragt.
Könntest Du mir helfen?
Danke!
Hier wird die Lösung dieses Problems beschrieben: https://github.com/vysheng/tg/issues/1070
Hey, vielen Dank für das Tutorial. Leider kann ich telegram nicht starten.
pi@PiMachine:~/tg/bin $ telegram-cli -k tg-server.pub
-bash: telegram-cli: command not found
der make prozess ist (soweit ich es beurteilen kann) ohne komplikationen durchgelaufen.
Für Hilfe wäre ich sehr dankbar 🙂
Starte es mal mit
./telegram-cli ...
also direkt aus dem Verzeichnis aus.Hallo, ich habe das gleiche Probelm…unter /tg/bin/ finden sich bei mir auch nur ‚generate‘ und ‚tl-parser‘
Wurde das Verzeichnis wieder geändert?
Während das make-Befehls davor, kam es auch zu einigen Fehlern die sich aber auf ‚rsa_pem_openssl.c:41:1‘ (Funktion TGLC_rsa_new) bzw. ‚rsa_pem_openssl.c:53:1‘ und die Funktionen TGLC_rsa_e und TGLS_rsa_n beziehen…
Ich hab zwar nicht allzu viel Ahnung, kann mir aber nicht vorstellen, dass die das wieder geändert haben…
Nachtrag: Es gibt eine ganze Menge ‚telegram-cli‘-Dateien mit unterschiedlichen Endungen überall unter /tg/, aber ob das die richtigen sind…keine Ahnung.
Danke nochmal für das tolle Tutorial
Hallo, erstmal vielen Dank für das Tutorial und die tolle Unterstützung! Mir geht es leider genauso wie dem Vorredner.
Beim make-Befehl erhalte ich zunächst viel Textoutput (..missing field initializers..).
Zum Schluss 3 Fehler in Bezug auf die Funktion „TGLC_rsa_new“ (tgl/crypto/rsa
_pem_openssl.c).
Error: dereferencing pointer to incomplete type ‚RSA {aka struct rsa_st}‘
ret->e = unwrap_bn (TGLC_bn_new ());
Später noch zwei Fehler durch Getter Funktion RSA_GETTER(val) in TGLC_rsa_n und TGLC_rsa_e. Error: control reaches end of non-void function [-Werror=return-type].
Zum Schluss dann Makefile.tgl:20: recipe for target ‚objs/crypto/rsa_pem_openssl.o‘ failed.
Entsprechend wurde auch keine ./telegram-cli generiert. Scheint wohl eher ein Problem beim Compilen zu sein? Probleme mit dem Einbinden des Structs RSA?
Hat jemand eine Idee, Idee wie man das lösen kann?
hallo…
bei make bekomme ich auch fehler
hat jemand evtl eine lösung?
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_new’:
tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
ret->e = unwrap_bn (TGLC_bn_new ());
^~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_n’:
tgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(n);
^~~~~~~~~~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_e’:
tgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(e);
^~~~~~~~~~
cc1: all warnings being treated as errors
Makefile.tgl:20: die Regel für Ziel „objs/crypto/rsa_pem_openssl.o“ scheiterte
make: *** [objs/crypto/rsa_pem_openssl.o] Fehler 1
Moin, „apt-get install libssl1.0-dev“ sollte dein Problem lösen!
Danke, hat geholfen
ich nochmal
habe dieses auf dem pi:
RASPBIAN STRETCH WITH DESKTOP
Image with desktop based on Debian Stretch
Version:September 2017
Release date:2017-09-07
Kernel version:4.9
statt
./configure
das
sudo apt-get install libgcrypt11-dev
./configure –disable-openssl
dann läuft auch das make durch
Hallo Maik,
vielen Dank für den Tipp, aber leider läuft der „make“ Befehl NICHT durch.
„$ make
gcc -I. -I. -I./tgl -g -O2 -I/usr/local/include -I/usr/include -I/usr/include -I/usr/include/lua5.2 -DHAVE_CONFIG_H -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-deprecated-declarations -fno-strict-aliasing -fno-omit-frame-pointer -ggdb -Wno-unused-parameter -fPIC -iquote ./tgl -c -MP -MD -MF dep/crypto/rsa_pem_openssl.d -MQ objs/crypto/rsa_pem_openssl.o -o objs/crypto/rsa_pem_openssl.o tgl/crypto/rsa_pem_openssl.c
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_new’:
tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
ret->e = unwrap_bn (TGLC_bn_new ());
^~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_n’:
tgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(n);
^~~~~~~~~~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_e’:
tgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(e);
^~~~~~~~~~
cc1: all warnings being treated as errors
Makefile.tgl:20: die Regel für Ziel „objs/crypto/rsa_pem_openssl.o“ scheiterte
make: *** [objs/crypto/rsa_pem_openssl.o] Fehler 1“
Diese Fehler bekomme ich wieder.
Hallo,
danke für die bisherigen Infos im Tutorial und die Kommentare. Die Installation von Telegram ist offenbar nicht ganz banal, jedenfalls komme ich nicht weiter. Meine Konfiguration:
Raspberry Pi 2 Version B V1.1
Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux
Ich bekomme nach „make“ die gleiche Fehlermeldung wie Maik
… tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_new’:… usw.
Ich habe dann die Empfehlung
sudo apt-get install libgcrypt11-dev
./configure –disable-openssl
berücksichtigt, aber mit dem gleichen negativen Ergebnis.
Nach der Eingabe von
pi@raspberrypi:~/tg $ ./configure –disable-openssl
erscheint
configure: WARNING: you should use –build, –host, –target
configure: WARNING: invalid host type: –disable-openssl
checking for –disable-openssl-gcc… no …….
Jetzt hänge ich komplett fest. Wo liegt mein Fehler?
Guten Tag zusammen,
bei mir tritt nach make folgender Fehler auf:
cc1: all warnings being treated as errors
Makefile.tgl:20: recipe for target ‚objs/crypto/rsa_pem_openssl.o‘ failed
make: *** [objs/crypto/rsa_pem_openssl.o] Error 1
woran kann das liegen?
Siehe hier: https://github.com/vysheng/tg/issues/1256#issuecomment-265608840
Hallo! Auch von mir danke für die Anleitung. Ich habe folgendes Problem und komme nicht weiter:
Ich habe nach einigem Herumprobieren es soweit geschafft, dass ich eigentlich die Nummer anmelden müsste, aber es sieht nur so aus:
bin/telegram-cli -k tg-server.pub
Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license‘.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license‘ for details.
Telegram-cli uses libtgl version 2.1.0
I: config dir=[/home/pi/.config/telegram-cli]
[/home/pi/.telegram-cli] created
[/home/pi/.telegram-cli/downloads] created
>
Aber dann passiert nichts mehr. Irgendwann friert sogar mein RasPi ein.
Ich habe folgendes gefunden: https://github.com/vysheng/tg/issues/440
Die IP-Adresse stimmt, daran liegt es nicht. Weiter unten steht, dass man direkten Zugang zum Netzwerk erlauben soll. Ich würde das probieren, allerdings weiß ich nicht, was damit gemeint ist. Internet habe ich ja.
Was kann ich tun, damit es (endlich) weiter geht?
Danke schon mal!
Hallo,
der „make“-Befehl ist soweit durch gelaufen es kam nur KEINE abfrage der Handynummer. Wie bzw. wo kann ich die Eintragen?
Hi die Idee gefällt mir, aber am code von vysheng/tg.git wurde ja schon Jahre nichts mehr gemacht und es scheint einige Probleme zu geben…
Hat sich jemand schon das hier angeschaut?
https://github.com/tdlib/td
„Cross-platform library for building Telegram clients“
Ev ein neuer Blogbeitrag darüber? 😉
Es funktioniert auf
mein Raspberry Pi 3 Model B V1.2 vom 2015
Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux
Lösung
telegram herunterladen:
git clone –recursive https://github.com/vysheng/tg.git && cd tg
das Unterverzeichnis tgl löschen
das neue tgl herunterladen:
git clone –recursive https://github.com/matthiasbock/tgl.git
./configure –disable-openssl
make
Keine Fehlermeldungen.
bin/telegram-cli funktioniert jetzt.
matthiasbock hat die Datei tgl/crypto/rsa_pem_openssl.c gepacht. Danke matthiasbock !
Danke DNG,
mit dem neuen tgl Verzeichnis hat es dann geklappt.
Mir fehlte lediglich noch eine libgcrypt Bibliotek, dich ich mit:
sudo apt-get install libgcrypt-dev
installiert habe.
Danach funktionierte die Befehle
./configure –disable-openssl
make
Danke noch mal
Die bessere Lösung ist aber eine Install von „libssl1.0-dev“ statt openssl zu Deaktivieren! 😉
Hallo,
bei mir hat das make mehrere fehler erzeugt einige konnte ich selbst lösen diesen verstehe ich allerdings nicht:
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_new’:
tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
ret->e = unwrap_bn (TGLC_bn_new ());
^~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_n’:
tgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(n);
^~~~~~~~~~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_e’:
tgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(e);
^~~~~~~~~~
cc1: all warnings being treated as errors
Makefile.tgl:20: recipe for target ‚objs/crypto/rsa_pem_openssl.o‘ failed
make: *** [objs/crypto/rsa_pem_openssl.o] Error 1
ich wäre für hilfe äusserst dankbar. ein ausführen als root schafft auch keine abhilfe
Hallo,
Probiere es noch mal wie unten.
Ich benutze telegram um Nachrichten von einem Raspberry zu senden.
Die Verschlüsselung ist, in meinem Fall, irrelevant.
Ich werde die Prozedur ausführlich beschreiben, so wie sie in .bash_history
steht, und minimal kommentieren.
Auf dem raspberry habe ich stretch lite, zwei tools und
telegram installiert, um zu sehen ob und wie es geht. Es geht!
Raspberry Pi 3 Model B V1.2 vom 2015
uname -a ergibt:
Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux
Als user pi habe ich zuerst raspi-config ausgeführt und das System eingedeutscht.
Weiter:
sudo password
Ein Passwort für root eingetippt. Weiter als root:
apt update
apt upgrade
Meine Lieblingstools:
apt install mc joe
Weiter habe nur das installiert, was für telegram unerlässlich ist:
apt install git
apt install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev
libevent-dev libjansson-dev libpython-dev make
Ab hier habe ich als user pi gearbeitet.
git clone –recursive https://github.com/vysheng/tg.git && cd tg
Wichtig!!!
Das Verzeichnis /home/pi/tg/tgl löschen!
## Version 1: mit –disable-openssl
git clone –recursive https://github.com/matthiasbock/tgl.git
./configure –disable-openssl
Keine Fehlermeldungen!
make
Nach ein wenig mehr als 8 Minuten entsteht in /home/pi/tg/bin das
eigentliche Programm, telegram-cli, ohne Fehlermeldungen!
Beim ersten Aufruf von telegram-cli entsteht im Homeverzeichnis das
Unterverzeichnis .telegram-cli und wird, nachdem man einige Fragen
beantwortet hat, mit einigen kryptischen Dateien aufgefüllt die telegram
initialisieren.
In /home/pi habe ich das Verzeichnis „.telegram-cli“ vom alten jessie
übernommen, wo sich schon meine Koordinaten befinden. Das Verzeichnis ist
vor einiger Zeit und auf einem anderen raspberry entstanden, als ich
telegram zum ersten mal benutzte. Ich habe es immer wieder kopiert,
wo ich es gerade brauchte, d.h. in das Homeverzeichnis des Users, der
telegram benutzen sollte.
telegram-cli funktioniert fehlerfrei auf 2 phyisch unterschiedlichen
raspis.
## Version 2: mit libssl1.0-dev
Philip hat mich neugierig gemacht, also habe ich von vorne angefangen.
Erst, als root, libssl1.0-dev installiert:
apt install libssl1.0-dev
Weiter, als user pi, habe ich die ganze Prozedur, git clone …u.s.w.,
./configure ohne disable-openssl und make, wiederholt. Wieder keine
Fehlermeldungen und das neue telegram-cli funktioniert auch, zumindest
die Grundfunktion, ein Text senden.
## Jetzt die unangenehme Überaschung!
Mit keinem der Versionen von oben kann man telegram initialisieren.
Das Programm telegram-cli startet, das Verzeichnis /home/pi/.telegram-cli
wird angelegt, aber man bekommt den ominösen Fehler:
> telegram-cli: tgl/mtproto-utils.c:101: BN2ull: Assertion `0′ failed.
SIGNAL received
## Lösung
Das Problem lässt sich, so wie früher, entsprechend der Anleitung
http://texonix.com/Teleg1.html, lösen.
Also habe ich wieder mit git clone…, tgl löschen, git clone..
angefangen und in der Datei /home/pi/tg/tgl/mtproto-utils.c die vier Zeilen
wegkommentiert, die die Anweisung „assert (0)“ enthalten.
Damit lässt sich telegram fehlerfrei kompilieren und initialisieren.
Ich habe diese dritte Version nur noch mit libssl1.0-dev, ohne
–disable-openssl, wie in der Version 2 von oben, kompiliert.
Moin moin,
gibt es eine Möglichkeit die Handynummer wieder zu ändern, ohne Telegramm neu installieren zu müssen?
Gruß
Holger
Du kannst die Konfigurationsdateien löschen.
Hallo,
vorerst möchte ich, wie die meisten hier, mich recht herzlich bedanken für das Tutorial.
Ich habe beide Tutorials ausgeführt und das erste funktioniert auch. bei diesem hier stoße ich an meine Grenzen. Ich habe alle Kommentare gelesen und es mehrfach versucht anzupassen. Aber wenn ich meinem Pi eine Nachricht sende, bleibt es nur bei einem Haken und nichts passiert. wenn ich aber die bash send_script ausführe, werden die Nachrichten die ich geschrieben habe aufgelistet. Ich komme wirklich nicht weiter. Kontakt ist angelegt und auf herkömmlichen Wege kann ich über die Komandozeile auch kommunizieren, aber er reagiert einfach nicht, wenn ich ihm eine Nachricht sende.
Ich hatte irgendwo auch gelesen, dass ich mit screen -r sehen kann, welche Screens laufen (man merkt schon, ich in noch Anfänger). Bei mir werden, auch nachdem ich den Screenbefehl für Telegramm eingebe, nur angezeigt: „there is no screen to be resumed“ … hat mein Problem damit zu tun?
Vielen Dank für eure Hilfe.
Viele Grüße
Peeta
Hallo erstmal tolle Seite 🙂
nur habe ich leider das Problem das ich trotz das ich schon sämtliche Variationen ausprobiert hab unter anderem mehrmals gelöscht ich nach dem make Befehl immer wieder diese Meldung erhalte:
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_new’:
tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
ret->e = unwrap_bn (TGLC_bn_new ());
^~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_n’:
tgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(n);
^~~~~~~~~~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_e’:
tgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(e);
^~~~~~~~~~
cc1: all warnings being treated as errors
Makefile.tgl:20: die Regel für Ziel „objs/crypto/rsa_pem_openssl.o“ scheiterte
make: *** [objs/crypto/rsa_pem_openssl.o] Fehler 1
Vielen Lieben Dank schon mal für die Antworten 🙂
Hallo zusammen,
hat schon jemand eine Lösung für das Problem, welches Franz beschrieben hat?
Bei mir tritt an gleicher Stelle der selbe Fehler auf.
Viele Grüße
Hallo,
danke für die tolle Anleitung. Leider bekomme ich nach dem „make“ Befehl folgende Fehlermeldung:
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_new’:
tgl/crypto/rsa_pem_openssl.c:41:6: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’
ret->e = unwrap_bn (TGLC_bn_new ());
^~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_n’:
tgl/crypto/rsa_pem_openssl.c:52:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(n);
^~~~~~~~~~
tgl/crypto/rsa_pem_openssl.c: In function ‘TGLC_rsa_e’:
tgl/crypto/rsa_pem_openssl.c:53:1: error: control reaches end of non-void function [-Werror=return-type]
RSA_GETTER(e);
^~~~~~~~~~
cc1: all warnings being treated as errors
Makefile.tgl:20: die Regel für Ziel „objs/crypto/rsa_pem_openssl.o“ scheiterte
make: *** [objs/crypto/rsa_pem_openssl.o] Fehler 1
Was kann ich da machen?
Grüße
Alexander
Hallo,
mir hat das hier (https://github.com/vysheng/tg/issues/1535) geholfen. Seitdem funktioniert es bei mir.
Viele Grüße
Soeren
Hallo
bei mir ist auch der selbe Fehler ; hab jetzt schon so ziemlich jedes Toutorial ausprobiert was ich finden konnte . bin absoluter Raspberry bzw. Linux Anfänger 🙁 na ja wird schon werden
Hi,
Es ist eine dolle Sache hier…. Man findet so etwas immer seltener in deutschen Foren. Was mir aber auffällt ist das es am Anfang keine Aufstellung für benötigte Hard- und Software gibt. Mir erschließt sich auch nicht, warum ich eine SIM-Karte brauche und wo ich diese in den Raspberry Pi stecken soll??
Also ich fände es richtig gut, wenn hier noch ein Abschnitt dazu käme, der das erklärt.
Du brauchst im Prinzip nur eine Sim karte weil du dich mit dieser Nummer bei Telegram registrieren musst und dir einen Account erstellen kannst . auf diese SIM karte bekommst du eine sms geschickt mit einem Code den du dann auf der Desktop App eintragen musst damit Telegram funktioniert . wenn du dich mit der selben Nummer es auf mehr als einem Gerät registrierst bekommst einen Code gesendet mit dem du dann auf so vielen Geräten wie du möchtest dich registrieren kannst (mit dieser einen SIM Karte bzw der dazugehörigen Nummer)
Hallo
im August hatte ich schon mal einen Kommentar geschrieben das diese art der Installation nicht klappt, ich hab es dann nach einer längeren suche zwar erstmal ruhen lassen und mich anderen Projekten gewidmet. Das Telegram Projekt aber nie ganz aus den Augen gelassen.
vor ein paar tagen hab ich dann durch zufall dieses Youtoube Video gefunden https://www.youtube.com/watch?v=2K9Sawoxy-0
Was soll ich sagen …. in 5 min hatte ich Telegram auf meinem Raspberry . Also wenn dieses Toutorial nicht klappt schaut euch mal den link an
ich bin grade dabei mich in Telepot zwecks bot Programmierung einzuarbeiten . hat da irgendwer nen link zu ner „Befehls “ liste ? so das man sich das nicht alles einzeln zusammen google´n muss ?
Freundliche grüße
p.s.: wer hier Rechtschreib oder Gramatik fehler findet kann sie behalten 😉
Sorry
Das diese art der Installation bei mir nicht geklappt hat , nicht das sie nicht funktioniert
Hi,
ich konnte bis gestern um 12 Uhr Telegram auf meinem Raspberry nutzen. Unter anderem konnte ich per Befehl Bilder aufnehmen lassen und mir über Telegram ans Handy schicken lassen.
Ich gebe weiterhin die gleichen Befehle zum Starten von Telegram ein, habe auch sonst nichts an Telegram geändert. Seit gestern nun taucht kann ich mich nicht mehr einloggen. Die Fehlermeldung ist:
telegram-cli: tgl/mtproto-client.c:1206: mpc_on_get_config: Assertion `success‘ failed.
SIGNAL received
Kennt einer das Problem und kann mir helfen?
Hallo,
Beim sudo make habe ich folgendes problem. Kann jemand mir helfen?
tgl/tl-parser/tl-parser.c: In function ‘tl_parse_args134’:
tgl/tl-parser/tl-parser.c:1907:26: error: ‘sprintf’ may write a terminating nul past the end of the destination [-Werror=format-overflow=]
sprintf (s, „%lld“, lrand48 () * (1ll << 32) + lrand48 ());
^
tgl/tl-parser/tl-parser.c:1907:9: note: ‘sprintf’ output between 2 and 21 bytes into a destination of size 20
sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile.tl-parser:4: objs/tl-parser.o] Error 1
Dasselbe Problem von Chris habe ich leider auch. ….
Ich leider auch.
Hat niemand ne Lösung?
Das liegt daran, dass das char array s in
tgl/tl-parser/tl-parser.c
auf Zeile 1906
static char s[20]
zu klein ist. Wenn man da 21 Bytes rein schreibt rappelts. Das bedeutet der Fehler.
In neueren Versionen steht
static char s[21] in der Datei.
Hab in der tgl/tl-parser/tl-parser.c von ’static char s[20]‘ auf ’static char s[21]‘ geändert. Fehler bleibt leider der gleiche.
Hi, habe großzügig den Wert von 20 auf 25 vergrößert. Nun ging es da weiter, aber es hängt nun an einer anderen Stelle:
tgl/queries.c: In function ‘_tgl_do_send_photo’:
tgl/queries.c:2091:10: error: cast between incompatible function types from ‘void (*)(struct tgl_state *, void *, int, struct tgl_message *)’ to ‘void (*)(struct tgl_state *, void *, int)’ [-Werror=cast-function-type]
((void (*)(struct tgl_state *, void *, int))callback) (TLS, callback_extra, 0);
^
tgl/queries.c:2108:10: error: cast between incompatible function types from ‘void (*)(struct tgl_state *, void *, int, struct tgl_message *)’ to ‘void (*)(struct tgl_state *, void *, int)’ [-Werror=cast-function-type]
((void (*)(struct tgl_state *, void *, int))callback) (TLS, callback_extra, 0);
^
tgl/queries.c:2141:10: error: cast between incompatible function types from ‘void (*)(struct tgl_state *, void *, int, struct tgl_message *)’ to ‘void (*)(struct tgl_state *, void *, int)’ [-Werror=cast-function-type]
((void (*)(struct tgl_state *, void *, int))callback) (TLS, callback_extra, 0);
^
cc1: all warnings being treated as errors
make: *** [Makefile.tgl:20: objs/queries.o] Fehler 1
Habe nochmal nachgeschaut. Hatte vor 2 Jahren bereits Telegram problemlos installiert. Auf dem RasPi läuft make noch durch – mit dem gleichen Paket läuft es auf der neuen Umgebung nicht mehr fehlerfrei durch. Meiner Meinung kann es nur noch an den unterschiedlichen Versionen der installierten Pakete liegen. Hatte ein Downgrade versucht, aber aufgrund zuvieler Abhängigkeiten kam ich nicht weit. Habe mal eine Liste mit den unterschiedlichen Versionen zusammengestellt:
libreadline-dev 6.3-8+b3 / 7.05-5
libconfig-dev 1.4.9-2 / 1.5-0.4
libssl-dev 1.0.1t-1+deb8u6 / 1.1.1d-0+deb10u2
libjansson-dev 2.7-1+deb8u1 / 2.12.-1
python-dev 2.7.9-1 / 2.7.16-1
lua5.2 5.2.3-1.1 / 5.2.4-1.1+b1
liblua5.2-dev 5.2.3-1.1 / 5.2.4-1.1+b1
libevent-dev 2.0.21-stable-2+deb8u1 / 2.1.8-stable-4
lua-lgi 0.8.0-2 / 0.9.2-2
Hallo zusammen, mir ist es auch gelungen, den Parameter (siehe Marko 04.12.) auf 25 zu ändern und ich bekomme dann den selben neuen fehler (Wolli 05.12.)
Habt Ihr schon eine Lösung gefunden ?
Danke vorab !
Hallo,
dieses Tutorial scheint nicht mehr auf dem neuesten Stand zu sein oder?
Zumindest funtkioniert es bei mir nicht. Beim make ist Schluss mit lustig.
Hallo…
Mein Telegram aufm Raspi läuft jetzt schon ne gaaaaaaaanze weile & sehr stabil..
Müsste der Telegram Client nicht auch mal aktualisiert werden?
Hallo,
ich wollte mal wieder mit dem Pi anfangen und bin das Tutorial durchgegangen. Leider kommt bei make ein Fehler, den ich hier noch nirgendwo gelesen habe.
cat tgl/scheme.tl tgl/encrypted_scheme.tl tgl/binlog.tl tgl/append.tl tgl/mtproto.tl > auto/scheme.tl
gcc -I. -I. -I./tgl -g -O2 -I/usr/local/include -I/usr/include -I/usr/include -I/usr/include/lua5.2 -DHAVE_CONFIG_H -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-deprecated-declarations -fno-strict-aliasing -fno-omit-frame-pointer -ggdb -Wno-unuse d-parameter -fPIC -iquote ./tgl/tl-parser -c -MP -MD -MF dep/tl-parser.d -MQ objs/tl-parser.o -o objs/tl-parser.o tgl/tl-parser/tl- parser.c
tgl/tl-parser/tl-parser.c: In function ‘tl_parse_args134’:
tgl/tl-parser/tl-parser.c:1907:26: error: ‘sprintf’ may write a terminating nul past the end of the destination [-Werror=format-ove rflow=]
sprintf (s, „%lld“, lrand48 () * (1ll << 32) + lrand48 ());
^
tgl/tl-parser/tl-parser.c:1907:9: note: ‘sprintf’ output between 2 and 21 bytes into a destination of size 20
sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile.tl-parser:4: objs/tl-parser.o] Fehler 1
Was kann ich da machen? Ich habe schon andere Lösungen ausprobiert. Es funktioniert nur leider nichts. Vielen Dank schonmal im Vorraus. 😀
Hi, habs grad noch getestet, funktioniert noch.
Zumindest Nachrichten kann man noch schreiben, danach wirds aber eng.
Und man muss natürlich einige der oberen Kommentare beachten, das auskommentieren der Codezeilen usw