השמעת זמני תפילות מגוגל שיטס
-
יש לי קוד שמעלה לשלוחה את זמני התפילות לפי המבנה הזה
זה הנתונים בגוגל שיטס18/01/2026 יום ראשון בא שחרית בשעה 6:15, בהיכל גדול. בשעה 6:55, בהיכל קטן. בשעה 8:10, בהיכל גדול. מנחה בשעה 12:45, בהיכל קטן. בשעה 13:00, בהיכל גדול. בשעה 16:50, בהיכל גדול. מעריב בשעה 17:30, בהיכל גדול. בשעה 19:00, בהיכל קטן. בשעה 21:00, בהיכל גדול. בשעה 22:15, בהיכל גדול.זה הסקריפט
function uploadTtsBySmartLogic() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const targetSheet = ss.getSheetByName("מעובד"); const configSheet = ss.getSheetByName("זמני התפילות"); // יצירת גיליון לוג אם לא קיים let logSheet = ss.getSheetByName("לוג העלאה"); if (!logSheet) { logSheet = ss.insertSheet("לוג העלאה"); logSheet.appendRow(["זמן הרצה", "שלוחה", "תאריך יעד", "סטטוס"]); } if (!targetSheet) return; const token = configSheet ? configSheet.getRange("J2").getValue() : ""; const baseUrl = "https://www.call2all.co.il/ym/api/UploadFile"; if (!token) return; const today = new Date(); const dayOfWeek = today.getDay(); // 0=ראשון... 6=שבת const dateRow = targetSheet.getRange(1, 1, 1, 100).getValues()[0]; function getColumnDataByOffset(daysToAdd) { let targetDate = new Date(today); targetDate.setDate(today.getDate() + daysToAdd); let targetStr = Utilities.formatDate(targetDate, "GMT+2", "dd/MM/yyyy"); for (let i = 0; i < dateRow.length; i++) { let cellValue = dateRow[i]; let cellStr = ""; if (cellValue instanceof Date) { cellStr = Utilities.formatDate(cellValue, "GMT+2", "dd/MM/yyyy"); } else if (cellValue) { cellStr = cellValue.toString(); } if (cellStr == targetStr) { return { data: targetSheet.getRange(1, i + 1, 15, 1).getValues(), dateText: targetStr }; } } return null; } function getNextOccurrenceOffset(targetDay) { let diff = (targetDay - dayOfWeek + 7) % 7; return diff === 0 ? 7 : diff; } const logicMap = [ { folder: "18/1/1", offset: 0 }, { folder: "18/1/2", offset: 1 }, { folder: "18/1/3", offset: getNextOccurrenceOffset(5) }, { folder: "18/1/4", offset: getNextOccurrenceOffset(6) }, { folder: "18/1/5", offset: getNextOccurrenceOffset(0) }, { folder: "18/1/6", offset: getNextOccurrenceOffset(1) }, { folder: "18/1/7", offset: getNextOccurrenceOffset(2) }, { folder: "18/1/8", offset: getNextOccurrenceOffset(3) }, { folder: "18/1/9", offset: getNextOccurrenceOffset(4) } ]; logSheet.appendRow([new Date(), "--- תחילת הרצה ---", "", ""]); logicMap.forEach(item => { let result = getColumnDataByOffset(item.offset); if (!result) { logSheet.appendRow([new Date(), item.folder, "לא נמצא תאריך מתאים", "שגיאה"]); return; } let columnData = result.data; let shacharit = columnData[5][0] ? "שחרית. " + columnData[5][0] : ""; let mincha = columnData[8][0] ? "מנחה. " + columnData[8][0] : ""; let arvit = columnData[11][0] ? "מעריב. " + columnData[11][0] : ""; let all = [shacharit, mincha, arvit].filter(t => t.length > 0).join(" "); let files = [ { name: "001.tts", content: shacharit }, { name: "002.tts", content: mincha }, { name: "003.tts", content: arvit }, { name: "004.tts", content: all } ]; files.forEach(file => { if (file.content && file.content.length > 5) { uploadSingleFile(baseUrl, token, item.folder, file.name, file.content); } }); // כתיבה ללוג logSheet.appendRow([new Date(), item.folder, result.dateText, "עודכן בהצלחה"]); }); } function uploadSingleFile(baseUrl, token, folder, fileName, content) { let path = 'ivr2:' + folder + '/' + fileName; try { UrlFetchApp.fetch(baseUrl, { 'method': 'post', 'payload': { 'token': token, 'path': path, 'file': Utilities.newBlob(content, 'text/plain', fileName) }, 'muteHttpExceptions': true }); } catch (e) { console.error("שגיאה בהעלאה: " + e.message); } }שלוחת תפריט בתוכה 9 שלוחות מצורף תמונה של מבנה השלוחות

הקבצים עולים 001,002,003,004 הגדרות השלוחות הם השמעת קבצים אם תפריט לבחירה התפריט הוא
לתפילת שחרית הקש 1 לתפילת מנחה 2 לתפילת ערבית 3 לכל התפילות 4
ניתן לשנות את הקוד כמובן לצרכים שלכם הוא מוגבל בסריקת העמודות והשורות לחיסכון במשאבים -
B BEN ZION התייחס לנושא זה
-
B BEN ZION התייחס לנושא זה
-
B BEN ZION התייחס לנושא זה
-
ש שלוחה-404 התייחס לנושא זה
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות