web-dev-qa-db-fra.com

Comment envoyer un fichier via Telegram Bot

J'ai besoin d'envoyer un fichier txt à l'aide de l'API TelegramBot.

J'ai déjà essayé https://api.telegram.org/botMYT0KEN/sendDocument?chat_id=569502265&document=/Users/users/Desktop/file.txt

et ont un problème:

{"ok": false, "error_code": 400, "description": "Bad Request: mauvais identifiant de fichier distant spécifié: longueur de chaîne incorrecte"}

3
JennyB

De la documentation officielle de Telegram

Envoi de fichiers Il existe trois façons d'envoyer des fichiers (photos, autocollants, audio, média, etc.):

Si le fichier est déjà stocké quelque part sur les serveurs Telegram, vous n'avez pas besoin de le télécharger à nouveau: chaque objet fichier a un champ file_id, passez simplement ce file_id en paramètre au lieu de le télécharger. Il n'y a aucune limite pour les fichiers envoyés de cette façon. Fournissez à Telegram une URL HTTP pour le fichier à envoyer. Telegram téléchargera et enverra le fichier. 5 Mo maximum pour les photos et 20 Mo max pour les autres types de contenu. Publiez le fichier à l'aide de multipart/form-data de la manière habituelle de téléchargement des fichiers via le navigateur. Taille maximale de 10 Mo pour les photos, 50 Mo pour les autres fichiers. Envoi par file_id

Il n'est pas possible de changer le type de fichier lors du renvoi par file_id. C'est à dire. une vidéo ne peut pas être envoyée en tant que photo, une photo ne peut pas être envoyée en tant que document, etc. Il n'est pas possible de renvoyer des vignettes. Renvoyer une photo par file_id enverra toutes ses tailles. file_id est unique pour chaque bot individuel et ne peut pas être transféré d'un bot à un autre. Envoi par URL

Lors de l'envoi par URL, le fichier cible doit avoir le type MIME correct (par exemple, audio/mpeg pour sendAudio, etc.). Dans sendDocument, l'envoi par URL ne fonctionne actuellement que pour les fichiers gif, pdf et Zip. Pour utiliser sendVoice, le fichier doit avoir le type audio/ogg et ne pas dépasser 1 Mo. Des notes vocales de 1 à 20 Mo seront envoyées sous forme de fichiers. D'autres configurations peuvent fonctionner mais nous ne pouvons garantir qu'elles le seront.

https://core.telegram.org/bots/api

Voici ce dont vous avez besoin dans votre question:

Publiez le fichier à l'aide de multipart/form-data de la manière habituelle de téléchargement des fichiers via le navigateur. Taille maximale de 10 Mo pour les photos, 50 Mo pour les autres fichiers

0
Donny