telepot: SVG versenden mit Python bot

  • Hallo Forumsmitglieder,

    ich habe vor über mein Bot, ein Svg zu versenden.
    jetzt wollte ich mit diesem Stück Code aus mein Projekt das SVG versenden was leider nicht funktioniert nur bei jpg und png.

    Code
    bot.sendPhoto(chat_id,photo=open("Wetterstation.svg","rb"))

    Weiß einer wie ich es hinbekomme, das er mir das verschickt so das ich es in Telegram wie ein Bild empfangen kann??

    Einmal editiert, zuletzt von Juljano (17. August 2017 um 09:39)

  • Zitat von "Chris1893" pid='295647' dateline='1502956728'


    Ich würde das SVG erst in JPEG konvertieren. Bspw. per PIL und dann das JPEG versenden.


    Da bekomme ich eine Fehlermeldung:


    Traceback (most recent call last):
    File "/home/juljano/Schreibtisch/Wetterstation-pi.py", line 4, in <module>
    im = Image.open("/home/juljano/Schreibtisch/Wetterstation.svg")
    File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2349, in open
    % (filename if filename else fp))
    IOError: cannot identify image file '/home/juljano/Schreibtisch/Wetterstation.svg'


    Hier der Code:

    Python
    from PIL import Image
    import os, sys
    
    
    im = Image.open("/home/juljano/Schreibtisch/Wetterstation.svg")
    rgb_im = im.convert('RGB')
    rgb_im.save('colors.png')
  • Hallo,

    Bilder als SVG gibt es streng genommen nicht. SVG ist eine XML-basierte Beschreibungssprache. Heißt, wenn du eine SVG-Datei sendest, sendest du "nut" Textdaten.
    Zum Darstellen bräuchtest du ein Programm, dass aus der Beschreibung ein Bild rendert. Was Telegram offensichtlich nicht kann.

    Gruß, noisefloor

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!