2016-09-19 5 views
5

Мне нужно отправить изображение url to telegram без отображаемого изображения url и url. Я вижу телеграмму бота, и он делает это очень хорошо и отправляет длинное сообщение с изображением. Я прикрепляю этот результат, полученный ботом. Теперь, как это сделать в моем обычном боте? Возможно, скрытый URL-адрес с стилем MARKDOWN или любым способом? Я хочу, чтобы в моем тексте был скрытый URL-адрес, но телеграмма отображала изображение. см. образ прикрепленного образца. спасибоОтправить ссылку на телеграмму без отображения изображения url

enter image description here

ответ

0

Согласно Telegram API, кажется, если вы установите disable_web_page_preview в true, вы должны получить результат, который вы хотите.

Последнее сообщение должно выглядеть примерно так:

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

EDIT: Кажется, я понял вопрос, и вы на самом деле хотите, чтобы изображение появилось само по себе, а не 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", 
      {}, 
     ) 
    } 
) 

Свойство caption имеет предел 200 символов, так что если вы хотите отправить больше символов, то, что вы должны будете отправить два сообщения.

You can always ask Telegram to add this type of functionality in the future

+0

спасибо, но моя проблема не disable_web_page_preview мне нужен скрытый URL, когда отправить, например http://i.stack.imgur.com/BWjTS.png телеграммы только отображение изображения не Отображаемый URL – stackUser

+0

справа, так что вы хотите только изображение должно появиться, а не какой-либо текст? – Shadow

+0

Мне нужно отправить длинный текст с изображением, если я могу отправить изображение без отображаемого url изображения. Я могу отправить свой текст и изображение. Это мой демонстрационный результат: http://i.stack.imgur.com/BWjTS.png – stackUser

7

Большинство из них использует точку (или некоторые вещи, как этот персонаж) для описания ссылки и вы думали, что нет никакой связи.

Вы можете ввести следующую строку и выберите custom markdown:

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

Если вы хотите добавить текст к ссылке, вам нужно создать бот и использовать этот подход в боте.

Edit:

Для отправки гиперссылке с ботом API вы можете просто отправить HTML разметки и использования parse_mode. См. telegram documents:

Чтобы использовать этот режим, передайте HTML-код в поле parse_mode при использовании sendMessage.Следующие теги поддерживаются в данный момент:

<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> 

образец:

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

Спасибо, дорогой Насер Юсефи. Я использую точку раньше, но я вижу бота без использования точки или любого символа и изображения с длинным сообщением. Я не знаю, как это сделать. – stackUser

+0

Вы можете использовать персидский бот в телеграмме с именем @AxNegarBot. просто отправьте изображение на него, а затем ответьте на это изображение и отправьте свой длинный текст. –

+0

Спасибо Дорогой Насер Юсефи. Я вижу, что персидский бот очень хорош. Я хочу создать свой собственный бот и сделать это. Мне нужен этот код. можешь мне помочь? – stackUser

3

Вы можете использовать &#160; характер как скрытый характер.

1

Ключом ответа является нулевой шириной без участия (ZWNJ) знак. ZWNJ кодируется в Unicode как U+200C ZERO WIDTH NON-JOINER (HTML &#8204;, &zwnj;).

режим HTML:

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

Режим уценки:

Вставить символ U + 200C в []. Если вы используете Linux или Mac OS с стандартной персидской клавиатурой, вы можете вставить ее, просто нажав . В ОС Windows вы, вероятно, можете вставить его, нажав Ctrl+Shift+2 на персидской клавиатуре.

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

Замечание о ZWNJ от wikipedia: Ноль ширина не-краснодеревщик (ZWNJ) является непечатаемым символом, используемым в компьютеризации написания систем, которые используют лигатуры. ZWNJ кодируется в Unicode как U + 200C ZERO WIDTH NON-JOINER (HTML &#8204;).