Код: Выделить всё
$apiURLBase = "https://api.telegram.org/bot/";
$selectedUsers = ['111111111', '2222222222']; // Example chat IDs
$originalVideoPath = 'path_to_your_video.mp4';
foreach ($selectedUsers as $chatId) {
$uniqueFilePath = 'video_notes/' . uniqid() . '.mp4';
copy($originalVideoPath, $uniqueFilePath); // Ensure a unique file for each request
$apiURL = $apiURLBase . "sendVideoNote";
$video_note = new CURLFile($uniqueFilePath);
$data = [
'chat_id' => $chatId,
'video_note' => $video_note
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:multipart/form-data"));
curl_setopt($ch, CURLOPT_URL, $apiURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
curl_close($ch);
unlink($uniqueFilePath); // Clean up the temporary file
echo "Response for chat_id $chatId: " . $output . "
";
}
Я ожидаю, что видеозаметка будет отправлена всем пользователям в массиве $selectedUsers без каких-либо проблемы.
Фактическое поведение:
Первый пользователь в массиве успешно получает видеозаметку, а второй user, я получаю следующий ответ от API Telegram:
Код: Выделить всё
{"ok":false,"error_code":404,"description":"Not Found"}
Уникальность видеофайлов для каждого запроса обеспечивается путем их копирования. в новый файл с уникальным именем.
Проблема сохраняется даже после добавления задержки между запросами с помощью сна(1);.
Все остальные параметры и настройки (такие как URL-адреса API, бот токен и т. д.) были дважды проверены на точность.
Может ли кто-нибудь помочь определить, почему последующие запросы не выполняются и как решить эту проблему? Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/792 ... n-404-erro