web-dev-qa-db-fra.com

Comment envoyer une image intégrée avec du texte dans un message via l'API Telegram Bot

En utilisant l'API Telegram Bot,

Je suis conscient qu'il est possible d'envoyer une image via https://core.telegram.org/bots/api#sendphoto

Cependant, comment puis-je intégrer une image distante dans un message formaté?

Le message que je cherche à envoyer peut être comparé à un article de presse avec un titre en gras, une image et un texte plus long avec des liens. J'ai compris comment créer du texte en gras et des liens avec démarque, mais je n'arrive pas à insérer des images. Comment pouvons-nous faire cela?

11
Pierre-Antoine

vous devez définir ParseMode en HTML et définir votre URL d'image dans une balise comme celle-ci:

<a href="' + image + '">&#8205;</a>

&#8205; -> ne jamais afficher dans le message

26
barzin.A

Vous pouvez utiliser une astuce d'espace de largeur nulle. Fonctionne pour le mode d'analyse Markdown et HTML.

Réduction:

$data = [
    'chat_id'    => $chat_id,
    'parse_mode' => 'markdown',
    'text' => "[​​​​​​​​​​​](https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Stack_Overflow_logo.svg/200px-Stack_Overflow_logo.svg.png) Some text here.",
];

Résultat:

enter image description here

Remarque: L'espace de largeur nulle se situe entre les crochets "[]".

11
Bing Han
import requests    
text="testing"    
img="http://imageurl.png"       
r = requests.get('https://api.telegram.org/botyour_token_here/sendMessage?chat_id=@your_channel_here&parse_mode=markdown&text='+"[​​​​​​​​​​​]("+img+")"+text)
2
Amit Ghosh

La méthode utilisant http: //.......jpg> .. affichera un aperçu de l'image sous le texte. Comme ça:

n échantillon href

Ce sera mieux si vous envoyez une image avec une légende .

échantillon de légende

1
AV9