За последние 24 часа нас посетил 22331 программист и 1033 робота. Сейчас ищут 745 программистов ...

отправка файлов и видео в Telegram боте

Тема в разделе "Прочие вопросы по PHP", создана пользователем テムルマル AI, 22 мар 2023.

Метки:
  1. テムルマル AI

    テムルマル AI Новичок

    С нами с:
    10 май 2022
    Сообщения:
    28
    Симпатии:
    1
    Я никак не могу найти способ как передавать большие +- файлы или видео в телеграмм боте отправить и получить тоже но сейчас приоритет на отправке файлов.
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    есть наработки? или так... абстрактный вопрос?
     
  3. テムルマル AI

    テムルマル AI Новичок

    С нами с:
    10 май 2022
    Сообщения:
    28
    Симпатии:
    1
    так сказать вопрос буквально как это реализовать без всяких Фреймворков буквально через curl запросы в php по типу этого

    PHP:
    1. public function sendText($text, $panel_keyboard = [], $inline_keyboard = [], $one_time = false, $resizeble = true) {
    2.  
    3. $tg_server="https://api.telegram.org/bot".$this -> env['APP_TG_TOKEN'];
    4.  
    5. $keyboard = [
    6. "one_time_keyboard" => $one_time,
    7. "resize_keyboard" => $resizeble
    8. ];
    9.  
    10. if($panel_keyboard) {
    11. $keyboard['keyboard'] = $panel_keyboard;
    12. } else if($inline_keyboard) {
    13. $keyboard['inline_keyboard'] = $inline_keyboard;
    14. }
    15.  
    16. // array_push($keyboard['keyboard'][0], ['text' => 'Войти', 'request_contact' => true]);
    17.  
    18.  
    19. // $fd = fopen("rst.txt", 'a') or die("не удалось создать файл");
    20. // $str = json_encode($keyboard);
    21. // fwrite($fd, $str);
    22. // fclose($fd);
    23.  
    24. $params=[
    25. 'chat_id'=>$this -> data['chat']['id'],
    26. 'parse_mode' => 'html',
    27. 'text'=> (string)$text,
    28. 'reply_markup' => json_encode($keyboard),
    29. ];
    30.  
    31. $ch = curl_init($tg_server .'/sendMessage');
    32. curl_setopt($ch,CURLOPT_HEADER,false);
    33. curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    34. curl_setopt($ch,CURLOPT_POST,true);
    35. curl_setopt($ch,CURLOPT_POSTFIELDS,($params));
    36. curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    37. $result = curl_exec($ch);
    38.  
    39. return true;
    40.  
    41. }
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
  5. テムルマル AI

    テムルマル AI Новичок

    С нами с:
    10 май 2022
    Сообщения:
    28
    Симпатии:
    1
    upload_2023-3-23_10-23-16.png
    В боте подразумевается видео с весом более 50 мб примерно в районах 100~300 мб.
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    для больших файлов вроде такой смысла был
    1. отправляем мелкий файл например 10 байт
    2. в ответ получаем file_id .. это идентификатор файла на сервере телеги
    3. отправляем запрос на обновление данного файла по file_id .. шлем уже наш большой файл....
     
  7. テムルマル AI

    テムルマル AI Новичок

    С нами с:
    10 май 2022
    Сообщения:
    28
    Симпатии:
    1
    О спасибо щас попробую