将图像链接发送到没有显示图像URL的电报

Mat*_*tin 11 image telegram telegram-bot

我需要发送图片网址到电报,没有显示图片网址和隐藏网址.我看到一个电报机器人,它做得很好并发送带有图像的长信息我附加这个机器人结果图像看到它.现在如何在我的自定义机器人中做到这一点?它可能是MARKDOWN风格或任何方式隐藏的URL?我想在我的文本中隐藏图像网址,但电报显示我的图像.看我的示例附加图像.谢谢

在此输入图像描述

Nas*_*efi 9

他们中的大多数人使用点(或像这个字符这样的东西)进行链接描述,你认为没有链接.

您可以键入以下行并选择custom markdown:

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

如果要在链接中添加文本,则需要创建机器人并在机器人中使用此方法.

编辑:

要使用bot api发送超链接,您只需发送html标记并使用即可parse_mode.见电报文件:

要使用此模式,请在使用sendMessage时在parse_mode字段中传递HTML.目前支持以下标记:

<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>
Run Code Online (Sandbox Code Playgroud)

样品:

<a href="http://www.planwallpaper.com/static/images/i-should-buy-a-boat.jpg"></a>
Run Code Online (Sandbox Code Playgroud)


Sha*_*dow 5

根据Telegram API,似乎如果你设置disable_web_page_previewtrue,你应该得到你想要的结果。

最终消息应如下所示:

{
    chat_id: 1235,
    message: "http://your/url",
    disable_web_page_preview: true,
}
Run Code Online (Sandbox Code Playgroud)

编辑: 似乎我误解了这个问题,您实际上希望图像本身而不是 url 本身出现。

同样,根据Telegram API,您可以直接发送图像。但据我所知,你不能使用 URL 来做到这一点。您必须直接从电报服务器上传照片。您可以使用该caption属性来发送文本。

这是您如何在 python 中执行此操作的示例。您需要将其调整为您使用的任何语言,但概念是相同的。

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",
            {},
        )
    }
)
Run Code Online (Sandbox Code Playgroud)

caption属性的限制为 200 个字符,因此如果您想发送更多字符,则必须发送两条消息。

您可以随时要求 Telegram 将来添加此类功能


علی*_*رضا 5

您可以将&#160;角色用作隐藏角色.


Meh*_*imi 5

答案的关键是零宽度非连接(ZWNJ)字符。ZWNJ以Unicode编码为U+200C ZERO WIDTH NON-JOINER(HTML &#8204;&zwnj;)。

HTML模式:

<a href="https://t.me/something">&#8204;</a>
Run Code Online (Sandbox Code Playgroud)

MARKDOWN模式:

在中插入字符U + 200C []。如果您使用带有标准波斯键盘的 linux或mac OS,则只需按即可将其插入Shift+Space。在Windows操作系统中,您可能可以通过按Ctrl+Shift+2波斯键盘插入它。??

[??](https://t.me/something)
Run Code Online (Sandbox Code Playgroud)

维基百科上有关ZWNJ的注释:零宽度非连接符(ZWNJ)是在使用连字的书写系统的计算机化过程中使用的非打印字符。ZWNJ以Unicode编码为U + 200C零宽度非JOINER(HTML &#8204;)。