Проблема, с которой вы сталкиваетесь, связана с особенностями отправки файлов через API Telegram. Ошибка `WEBPAGE_CURL_FAILED` может возникать по нескольким причинам, особенно когда речь идет о форматах файлов, таких как `.doc` и `.docx`.
Вот несколько моментов, которые стоит проверить:
1. **Поддержка форматов**: Telegram поддерживает разные типы файлов, но не все форматы могут быть отправлены в медиа-группах. В частности, `.doc` и `.docx` не поддерживаются для отправки в виде медиа-группы. Для большинства не изображений или видео требуется отправка через отдельное сообщение с использованием метода `sendDocument`.
2. **Использование медиа-групп**: Если вы отправляете медиа-группу, Telegram допускает определенные типы медиа (как изображения и видео). Если в вашей группе находятся неподдерживаемые форматы, возможно, Telegram просто не отправляет их и вызывает ошибку.
3. **Проверка URL**: Убедитесь, что предоставляемые URL для загрузки документов действительно доступны и корректны. Проверьте, что файлы можно открыть напрямую через браузер по этим ссылкам.
4. **Лимиты на размер файлов**: Убедитесь, что размеры отправляемых файлов не превышают ограничения Telegram (например, размер одного файла должен быть меньше 20 МБ).
5. **Отладочная информация**: Для дальнейшей диагностики можно добавить логирование ответов от API Telegram, чтобы просмотреть более подробную информацию о том, почему запрос завершился неудачей.
Чтобы решить вашу проблему, попробуйте изменить логику отправки вложений для форматов `.doc` и `.docx`:
```php
foreach ($attachments1 as $attach) {
$file_extension = pathinfo($attach['name'], PATHINFO_EXTENSION);
if (in_array(strtolower($file_extension), $allowed_photo_extensions)) {
// Если файл изображения - добавляем в медиа-группу
$mediaGroup[] = [
'type' => 'photo',
'media' => $attach['url'],
'caption' => $attach['name'],
];
} elseif (in_array(strtolower($file_extension), ['doc', 'docx'])) {
// Если файл документа - отправляем отдельно
// Здесь можно использовать метод sendDocument
$telegram->sendDocument([
'chat_id' => $chatId,
'document' => $attach['url'],
'caption' => $attach['name'],
]);
}
// Добавьте дополнительные условия для других типов файлов по мере необходимости
}
```
Это позволит вам обрабатывать документы отдельно, а изображения отправлять в медиа-группе, избегая ошибки `WEBPAGE_CURL_FAILED`.