web-dev-qa-db-fra.com

Envoyer un lien d'image vers un télégramme sans afficher l'URL de l'image

J'ai besoin d'envoyer une URL d'image au télégramme sans afficher l'URL d'image et l'URL masquée. Je vois un bot de télégramme et il le fait très bien et envoie un long message avec l'image Je joins cette image de résultat du bot le voir. Maintenant, comment le faire dans mon bot personnalisé? C'est une URL cachée possible avec le style MARKDOWN ou de toute autre manière? Je veux une URL d'image cachée dans mon texte mais un télégramme affiche mon image. voir mon exemple joindre une image. Merci

enter image description here

11
Matin

La plupart d'entre eux utilisent le point (ou certaines choses comme ce caractère) pour la description du lien et vous pensiez qu'il n'y avait pas de lien.

Vous pouvez taper la ligne suivante et sélectionner custom markdown:

@bold [.](http://www.planwallpaper.com/static/images/i-should-buy-a-boat.jpg)

Si vous souhaitez ajouter du texte à votre lien, vous devez créer un bot et utiliser cette approche dans le bot.

Modifier:

Pour envoyer un lien hypertexte avec le bot api, vous pouvez simplement envoyer un balisage html et utiliser parse_mode. Voir documents de télégramme :

Pour utiliser ce mode, transmettez HTML dans le champ parse_mode lorsque vous utilisez sendMessage. Les balises suivantes sont actuellement prises en charge:

<b>bold</b>, <strong>bold</strong>
<i>italic</i>, <em>italic</em>
<a href="http://www.example.com/">inline URL</a>
<a href="tg://user?id=123456789">inline mention of a user</a>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>

échantillon:

<a href="http://www.planwallpaper.com/static/images/i-should-buy-a-boat.jpg"></a>
9
Naser Yousefi

Vous pouvez utiliser &#160; caractère comme caractère caché.

5
علیرضا

La clé de la réponse est le caractère non-joiner de largeur nulle (ZWNJ) . ZWNJ est codé en Unicode comme U+200C ZERO WIDTH NON-JOINER (HTML &#8204;, &zwnj;).

Mode HTML:

<a href="https://t.me/something">&#8204;</a>

Mode MARKDOWN:

Insérez le caractère U + 200C dans []. Si vous utilisez linux ou mac OS avec clavier persan standard , vous pouvez l'insérer simplement en appuyant sur Shift+Space. Dans le système d'exploitation Windows, vous pourriez probablement l'insérer en appuyant sur Ctrl+Shift+2 en clavier persanian. ‌‌

[‌‌](https://t.me/something)

Note sur ZWNJ de wikipedia : Le non-joiner de largeur nulle (ZWNJ) est un caractère non imprimable utilisé dans l'informatisation des systèmes d'écriture qui utilisent des ligatures. Le ZWNJ est codé en Unicode comme U + 200C NON LARGEUR À LARGEUR ZÉRO (HTML &#8204;).

5
Mehdi Rahimi

Selon Telegram API , il semble que si vous définissez disable_web_page_preview à true, vous devriez obtenir le résultat souhaité.

Le message final devrait ressembler à ceci:

{
    chat_id: 1235,
    message: "http://your/url",
    disable_web_page_preview: true,
}

EDIT: Il semble que j'ai mal compris la question, et vous voulez réellement que l'image apparaisse d'elle-même plutôt que l'URL seule.

Encore une fois, selon Telegram API vous pouvez envoyer une image directement. Mais pour autant que je sache, vous ne pouvez pas utiliser une URL pour le faire. Vous devrez télécharger la photo directement depuis votre serveur de télégramme. Vous pouvez utiliser la propriété caption pour envoyer du texte avec.

Voici un exemple de la façon dont vous pourriez le faire en python. Vous devrez l'ajuster dans la langue que vous utilisez, mais le concept est le même.

import requests

response = requests.post(
    "https://your.bot.url.com/sendPhoto",
    data={
        "chat_id": 1234,
        "caption": "Your extra text here"
    }
    files={
        "photo": (
            "image_name.jpg",
            "contents of image",
            "image/jpg",
            {},
        )
    }
)

La propriété caption a une limite de 200 caractères, donc si vous voulez envoyer plus de caractères que cela, vous devrez envoyer deux messages.

Vous pouvez toujours demander à Telegram d'ajouter ce type de fonctionnalité à l'avenir

3
Shadow

Avec HTML mode d'analyse. Gardez un espace vide entre les balises d'ouverture et de fermeture.

<a href="https://t.me/"> </a>
0
Saurabh Padwekar