2017-10-29 2 views
0

Ich habe ein seltsames Problem mit dem Hochladen einer Datei in ein Telegramm über die sendDocument Methode. Ich schreibe einen Bot in Python mit python-telegram-bot. Ich versuche, eine ZIP-Datei an einen Benutzer zu senden, die eine URL als document gibt. Diese ist die URL: http://telegram.nickespig.ch/32487352.zipTelegramm Bot - Schlechte Anforderung: Falsche Dateikennung/HTTP URL angegeben

bot.send_document(
    chat_id, 
    document=document, 
    filename=filename, 
    timeout=60) 

So viel wie ich weiß, dass meine Datei die Regeln durch Telegramm gegeben folgt: http://telegram.nickespig.ch/32487352.zip

  • Geben Telegramm mit einer HTTP-URL
    • http://telegram.nickespig.ch/32487352.zip
  • max. 20 MB
    • 2.14 MB
  • korrekten MIME-Typ
    • application/zip
  • von URL senden, wird derzeit nur Arbeit für gif, pdf und Zip-Dateien
    • ZIP file

Dies sind die Header:

Accept-Ranges →bytes 
Connection →keep-alive 
Content-Length →2247049 
Content-Type →application/zip 
Date →Sun, 29 Oct 2017 21:15:36 GMT 
ETag →"59f5e6e6-224989" 
Last-Modified →Sun, 29 Oct 2017 14:34:14 GMT 
Server →nginx/1.10.3 (Ubuntu) 

Die Datei von nginx (v1.10.3), mit dieser einfachen Konfiguration bedient wird.

server { 
    listen 80; 
    server_name telegram.nickespig.ch; 

    root /path/to/download_dir; 
    location/{ 
     try_files $uri $uri/ =404; 
    } 
} 

Wo /path/to/download_dir mit dem tatsächlichen Pfad natürlich ersetzt wird.

Der Fehler ich werde, wie im Titel sagte, ist dies ein:

{ 
    "ok": false, 
    "error_code": 400, 
    "description": "Bad Request: wrong file identifier/HTTP URL specified" 
} 

auch eine andere ZIP-Datei sendet, die ich online funktioniert gefunden: http://techslides.com/demos/samples/sample.zip

ich bereits nach einer Lösung gesucht und zB . dieses Telegram bot weird error : Bad Request: wrong file identifier/HTTP URL specified und dieses Why i get Wrong file identifier/HTTP URL specified error in telegram bot? helfen nicht.

Ich hoffe, Sie können mir dabei helfen.

Antwort

0

Ein Freund von mir half mir und wir konnten das Problem beheben. Alles, was ich getan habe, war gemäß der Telegram Bot API-Dokumentation korrekt, aber wie es aussieht, ist die Dokumentation nicht vollständig.

Das Problem war der Name meiner Datei. Die Datei muss mit einem Buchstaben beginnen. Es kann nicht mit einer Nummer beginnen. Also zB. test123.zip und t123.zip funktioniert aber 123.zip oder 1test.zip nicht.