Если ваш код работает как есть для простых текстовых сообщений, вам нужно всего лишь внести в него пару изменений.
Возможно, вы в настоящее время используете API sendMessage
метод, который принимает параметры chat_id
и text
.
Вы хотите использовать метод sendPhoto
, которыйрассказывает о параметрах chat_id
и photo
(но без параметра text
).
Так что это немного в темноте, так как я никогда не использовал и не слышал о Telegram, и я неу меня нет ключа, поэтому я не могу его проверить, но теоретически вы можете отправить фотографию с URL-адреса, например:
Sub telegram_SendPhoto()
Const photoURL = "https://i.imgur.com/0eH6d1v.gif" 'URL of photo
Dim objRequest As Object, strChatId As String, APIcode As String
Dim strPostData As String, strResponse As String
strChatId = Worksheets("Einstellungen").Cells(3, "AB")
APIcode = Worksheets("Einstellungen").Cells(2, "AB")
strPostData = "chat_id=" & strChatId & "&photo=" & photoURL
Set objRequest = CreateObject("MSXML2.XMLHTTP")
With objRequest
.Open "POST", "https://api.telegram.org/" & APIcode & "/sendPhoto?", False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send (strPostData)
strResponse = .responseText
End With
MsgBox strResponse
End Sub
Передайте file_id
как String для отправки фотографии, существующей на серверах Telegram (рекомендуется), передайте HTTP-URL в виде String для Telegram, чтобы получить фотографию из Интернета (см. Выше), или загрузите новую фотографию, используя multipart/form-data
. Подробнее об отправке файлов »