@carbanak01

Как отправить файл загруженный с сайта на телеграмм с помощью бота?

Здравствуйте ребята!
Есть задача: нужно, чтобы файл загрузивший пользователем на сайт с помощью input'а, отправился в телеграмм через бота.
Отправляется по технологии AJAX
Вот код:
function SendTelFile($file_url,$token,$chatID) {
    $ch = curl_init($file_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    $html = curl_exec($ch);
    curl_close($ch);
    file_put_contents(basename($file_url), $html);
    $curl = curl_init();
    curl_setopt_array($curl, [
        CURLOPT_URL =>  'https://api.telegram.org/bot'.$token.'/sendDocument?caption=Вложение&chat_id='.$chatID,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'Content-Type: multipart/form-data'
        ],
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => [
            'document' => curl_file_create(basename($file_url), mime_content_type(basename($file_url)), basename($file_url))
        ]
    ]);
    $data = curl_exec($curl);
    curl_close($curl);
  }
if($_POST['employee-type'] == 'one'){
	SendTelFile($_FILES['file']['tmp_name'].$FILES['file']['name'],$token,$chatID);
}

<form class="s3-form-half-one form-group">
<div class="add-file-box">
<div class="form-group">
<div class=" e-file">
<input class="file-input e-file__input" type="file" name="file">
<div class="file-toggle e-file__toggle">
<div class="file-name e-file__faith">ПРИЛОЖИТЬ СПИСКИ КОНТЕНГЕНТОВ К ЗАЯВКЕ</div>
</div>
</div>
</div>
</div>
 </form>
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 1
erniesto77
@erniesto77
oop, rb, py, php, js
в api телеграма есть специальный метод uploadFile или что-то похожее
но вам нужно помнить о том что максимальный размер файла 50 Mб
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы