08-28-2020 05:36 AM
Hallo zusammen,
vorab, ich programmiere an einem Bot für Telegram. Das funktioniert auch soweit ganz gut.
In der API Beschreibung https://core.telegram.org/bots/api#sendphoto ist der Aufbau des POST gut beschrieben. Dabnei geht es darum ein Bild im Chat zu posten. Bis jetzt habe ich Bilder entweder anhand der Telegram internen ID oder eines URLS verwendet.
In den Ausschnitten habe ich die BOT Token und Chat ID zensiert, nicht wundern 😉
Das hat auch super funktioniert und sieht zum Beispiel so aus:
Hier der Auszug aus der API Beschreibung:
Nun möchte ich aber gerne ein Bild von meinem PC hochladen. Die Telegram API beschreibt die wie folgt:
Unter "More info on Sending Files" ist folgendes zu finden:
Nun habe ich dies natürlich versucht, jedoch bekomme ich den Fehlercode das kein Bild angehängt werde.
Ich spekuliere, dass es nicht als multipart/form-data ankommt. Kenne mich aber ab jetzt leider weniger gut aus und würde mich freuen wenn mir jemand erklären kann wie ich das passend lösen kann.
Hier ist min versuchter Code:
Und hier habe ich das Feedback das kein Photo angekommen ist.
Über jede Idee bin ich sehr dankbar.
Ich habe an diesem Punkt kein .vi angehängt, da ihr vermutlich keinen Bot und Token habt und es nicht probieren könntet.
Grüße
Tim
09-16-2020 10:48 AM
Schicken eines Bildes (über die URL des Bildes) funktioniert gut, mein Code sieht genauso aus wie Deiner: http-request und am Ende der URL dann ...photo=https://www.hallo.de/image.jpg
Was ich nicht hinbekommen habe ist, wie ich ein Bild von der lokalen Festplatte verschicke.
Hat da jemand eine Idee? Vielleicht geht es garnicht und das Bild muss vorher auf einen Server hochgeladen werden und dann kann man mit der URL arbeiten.
Andreas
04-06-2021 10:16 AM - edited 04-06-2021 10:16 AM
You can try this way to upload one image to the server.
Home--colinzhang.net: My Blog
11-07-2021 08:42 AM
Hallo zusammen,
gibt es zu dem Problem neuerer Erkenntnisse? Ich bin genau an dem gleichen Problem und komme leider nicht wirklich weiter.
Mit den Daten via cURL wird das Bild sofort an Telegram übertragen, nur der LabVIEW http Client bringt immer wieder:
{"ok":false,"error_code":400,"description":"Bad Request: there is no photo in the request"}
Ich habe zwischenzeitlich auch den JKI http REST Client versucht, der leider ebenfalls kein brauchbares Ergebnis lieferte.
Sebastian
11-07-2021 10:05 AM
Hallo Sebastian. Soweit ich mich erinnere ist der Weg das Bild auf einen Server hochzuladen und Telegram dann die URL zum Bild mitzugeben und damit kann man dann das Bild als Message verschicken. Ich habe mich schlicht auf Textnachrichten beschränkt. Vielleicht gibt es eine bessere Lösung Bilder zu verschicken. Würde mich immernoch interessieren. Grüsse Andreas
11-21-2021 02:20 PM
Hi Andreas,
ich werde es nun wie folgt lösen:
Da ich ein xy-Plot versenden möchte werde ich von diesem eine lokal png-Datei erstellen und dann über die Kommandozeile aus LabVIEW per cURL (welches im Windows ja enthalten ist) auf Telegram hochladen. Via cURL funktioniert der Post ohne Probleme ... Schade, dass es keinen direkten Weg gibt.
Grüße Sebastian