Помогите с Google script, telegramm bot
С помощью функции
function sendInProgressRows(chatId, data) { var message = ''; var rowNumber = 1; // Номер строки для нумерации for (var i = 0; i < data.length; i++) { for (var j = 0; j < data[i].length; j++) { if (data[i][j].toString().indexOf('В работе') !== -1) { // Проверяем, есть ли текст "В работе" в ячейке Logger.log('Data[i]: ' + JSON.stringify(data[i])); // Логирование data[i] Logger.log('Parts: ' + JSON.stringify(parts)); // Логирование parts var parts = data[i].join(' ').split(' '); // Извлекаем дату и время var date = parts[1] + ' ' + parts[2] + ' ' + parts[3]; var names = parts[9]; var ks = parts[10]; var objs = parts[11]; var car = parts[12]; Logger.log('File ID: ' + car); // Добавляем логирование file_id var status1 = parts[13]; var status2 = parts[14]; var now = parts[4]; // Преобразуем дату в нужный формат var formattedDate = new Date(date).toLocaleDateString('ru-RU', { day: '2-digit', month: '2-digit', year: 'numeric'}); // Собираем строку с форматированной датой message += rowNumber + '. ✉️ ' + formattedDate + ' - ' + now + "\n" + ' ???? ' + names + "\n" + ' ✏️ KC № ' + ks + "\n" + ' Объект: '+ objs + "\n" + ' Схема: ' + car + "\n" + ' ???? ' + status1 + ' ' + status2 + "\n" + '____________________________' + "\n" + "\n"; // Извлекаем file_id из ссылки var fileId = car.split('/').pop(); // Получаем последний элемент массива, разделенного '/' Logger.log('File ID: ' + fileId); // Добавляем логирование file_id // Получаем ссылку на файл с помощью getFile var fileUrl = getFileUrl(fileId); // Отправляем файл с помощью sendDocument sendDocument(chatId, fileUrl); // Указываем ссылку на фото rowNumber++; // Увеличиваем номер строки break; // Переходим к следующей строке } } } sendMessage(chatId, message); // Логируем текущее время в формате GMT var currentGMTDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'"); Logger.log('Current GMT Date: ' + currentGMTDate); } function getFileUrl(fileId) { var url = `https://api.telegram.org/bot${telegramToken}/getFile?file_id=${fileId}`; Logger.log('getFile URL: ' + url); // Добавляем логирование URL //var response = UrlFetchApp.fetch(url); var response = UrlFetchApp.fetch(url, { muteHttpExceptions: true }); var data = JSON.parse(response.getContentText()); return `https://api.telegram.org/file/bot${telegramToken}/${data.result.file_path}`; } function sendDocument(chatId, fileUrl) { var url = 'https://api.telegram.org/bot' + telegramToken + '/sendDocument'; var payload = { method: 'post', contentType: 'application/json', payload: JSON.stringify({ chat_id: chatId, document: fileUrl, caption: 'Схема' // Например, "Схема" }) }; UrlFetchApp.fetch(url, payload); } С помощью этого кода я получаю от бота сообщения с данными из таблицы гугл, так же я получаю ссылку на фото, но хотел бы получать не ссылку а как файл, вроде все сделал как надо но ничего не получилось, даже в переменную указал прямую ссылку на фото var car = 'https://api.telegram.org/file/bot7048548792:AAFzCXt2oFZzIOkpzthtR0B92owpUoF-KOk/photos/file_43.jpg'; но и так ничего не получилось. Помогите пожалуйста с кодом |
ссылку на фото я получаю этой функцией
function getImageUrl(photoId) { var url = `https://api.telegram.org/bot${telegramToken}/getFile?file_id=${photoId}`; var response = UrlFetchApp.fetch(url); var data = JSON.parse(response.getContentText()); return `https://api.telegram.org/file/bot${telegramToken}/${data.result.file_path}`; } |
Часовой пояс GMT +3, время: 14:36. |