Код:
https://api.telegram.org/bot<Мой токен>/sendPhoto?chat_id=<мой ID>&photo=https://yandex.ru/collections/card/5e495498ada5968110833b1b/
Код:
https://api.telegram.org/bot<Мой токен>/sendPhoto?chat_id=<мой ID>&photo='C:\Skripti\photo.jpg'
В телеграмм метод sendPhoto параметр photo описание ( Фото для отправки. Вы можете либо передать идентификатор file_id в виде строки для повторной отправки фотографии, которая уже находится на серверах Telegram, либо загрузить новую фотографию с помощью multipart/form-data. ) Не понимаю как это реализовать.
Ссылка на автора кода:
https://autoit-script.ru/threads/otpravka-photo-cherez-telegram-api.21521/
Использую код:
Код:
Func Telegram_SendImage($FileToUploadPath, $TelegramToken, $TelegramChatID, $Caption = "")
$sAddress = "https://api.telegram.org/bot"&$TelegramToken&"/sendPhoto" ; the address of the target (https or http, makes no difference - handled automatically)
If $Caption = "" Then
$sForm = _
'<form action="' & $sAddress & '" method="post" enctype="multipart/form-data">' & _
' <input type="text" name="chat_id" />' & _
' <input type="file" name="photo"/>' & _
'</form>'
Else
$sForm = _
'<form action="' & $sAddress & '" method="post" enctype="multipart/form-data">' & _
' <input type="text" name="chat_id" />' & _
' <input type="file" name="photo"/>' & _ ;
' <input type="text" name="caption"/>' & _ ;
'</form>'
EndIf
; Initialize and get session handle
$hOpen = _WinHttpOpen()
$hConnect = $sForm ; will pass form as string so this is for coding correctness because $hConnect goes in byref
If $Caption = "" Then
; Fill form
$sHTML = _WinHttpSimpleFormFill($hConnect, $hOpen, _
Default, _
"name:chat_id", $TelegramChatID, _
"name:photo", $FileToUploadPath)
Else
; Fill form
$sHTML = _WinHttpSimpleFormFill($hConnect, $hOpen, _
Default, _
"name:chat_id", $TelegramChatID, _
"name:photo", $FileToUploadPath, _
"name:caption", $Caption)
EndIf
If @error Then
MsgBox(4096, "Error", "Error number = " & @error)
Else
ConsoleWrite($sHTML & @CRLF)
EndIf
; Close handles
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
EndFunc
Вызываю эту функцию:
Код:
$TelegramToken = "<Мой токен>"
$TelegramChatID = "<Мой ID>"
$FileToUploadPath = "C:\Skripti\photo.jpg"
$Caption = ''
Telegram_SendImage($FileToUploadPath, $TelegramToken, $TelegramChatID, $Caption)
Выдает сообщение Error number = 4
Подскажите как исправить данную ошибку?
Сообщение автоматически объединено:
Сообщите пожалуйста возможно ли это?
смотрел примеры Pyton, там получается такое реализовать.
Ну и придумал альтернативу для себя:
Загружать фото с диска С:\ в https://ru.imgbb.com/ указывая параметр удаления через 5 мин.
И пользоваться
Код:
https://api.telegram.org/bot<Мой токен>/sendPhoto?chat_id=<мой ID>&photo=https://ibb.co/t2VG6CT
Последнее редактирование: