מדריך | שמיעת המיילים בטלפון + צינתוק
-
@צדיק-תמים אני עשיתי את הקוד השני שהביאו כאן מה אני צריך לשנות שמה
function mailToPhone() { // משתנים לעריכת המשתמש const number = '**********' // :מספר המערכת const pass = '******' // :סיסמא const tag = 'ToPhone' // :שם התווית const extension = '1' // :מס' השלוחה להשמעה const tzl = '123' // :מספר רשימת צינתוקים const server = 'private' // :שרת 'www' לשרת רגיל 'private' לשרת פרייוט // עד כאן משתנים לעריכת המשתמש // משתנים לניסוח const cnsender = 'הודעה מאת' const cnto = 'אל' const cnsubject = ',נושא,' const cnbody = 'גוף ההודעה' const cnend = 'סוף ההודעה' // עד כאן משתנים לניסוח const url = ('https://' + server + '.call2all.co.il/ym/api/'); const token = (number + ':' + pass); const path = ('ivr2:' + extension + '/'); const listTzintuk = ('tzl:' + tzl); const label = GmailApp.getUserLabelByName(tag); let didUpload = false chechForGmails() function chechForGmails() { const threads = GmailApp.search('label:' + tag); for (const thread of threads) { const messages = thread.getMessages(); const minuteAgo = new Date(Date.now() - 60000); if (thread.getLastMessageDate() > minuteAgo) { for (const message of messages) { if (message.getDate() > minuteAgo) { const result = sendToYemot(message); didUpload = result || didUpload; } } thread.removeLabel(label); } else { const result = sendToYemot(messages[messages.length - 1]); didUpload = result || didUpload; thread.removeLabel(label); } } if(didUpload === true){ const tzintuk = UrlFetchApp.fetch(`${url}RunTzintuk?token=${token}&phones=${listTzintuk}`); Logger.log(tzintuk) } } function sendToYemot (message) { body = message.getPlainBody() body = body.replace(/\s{2,}/g, ' ') body = body.substring(0,2200) + cnend body = body.replace(new RegExp(`"|>|<`, 'g',), '') const ttsString = `${cnsender}. ${message.getFrom()}. ${cnto}. ${message.getTo()}. ${cnsubject}. ${message.getSubject()}. ${cnbody}. ${body}`; Logger.log({ ttsString }); const directoryListing = JSON.parse(UrlFetchApp.fetch(`${url}GetIVR2Dir?token=${token}&path=${path}`)); Logger.log(directoryListing) if (directoryListing.responseStatus === 'OK') { const lastFileName = directoryListing.files .filter(file => file.fileType === 'AUDIO' || file.fileType === 'TTS') .map(file => file.name.split('.')[0]) .find(fileName => !isNaN(fileName)); const newFileNumber = Number(lastFileName || -1) + 1; const newFileName = newFileNumber.toString().padStart(3, '0'); const newFilePath = `${path}${newFileName}.tts`; const payload = { token, what: newFilePath, contents: ttsString }; const uploadResult = JSON.parse(UrlFetchApp.fetch(url + 'UploadTextFile?', { payload })); return uploadResult.responseStatus === 'OK'; } } }
-
@אחד-מאנש עכשיו כשאני עובר יותר על הקוד אני רואה שאי אפשר לעשות את זה ככה, זה ישלח לך את המיילים שוב ושוב...
תשנה חזרה, ותשנה פה:const threads = GmailApp.search('label:' + tag);
ל:
const threads = GmailApp.search('label:' + tag + '-category:promotions');
-
@צדיק-תמים אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
@אחד-מאנש עכשיו כשאני עובר יותר על הקוד אני רואה שאי אפשר לעשות את זה ככה, זה ישלח לך את המיילים שוב ושוב...
תשנה חזרה, ותשנה פה:const threads = GmailApp.search('label:' + tag);
ל:
const threads = GmailApp.search('label:' + tag + '-category:promotions');
מאז ששינתי את זה זה לא נותן בכלל צינטוקים
-
-
קיבלתי כזה מייל
מישהו יודע האם זה קשור לזה ששינתי את הקוד למה שכתוב כאן@צדיק-תמים אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
@אחד-מאנש תוסיף רווח לפני המקף של:
'-category:promotions'
כלומר:
' -category:promotions'
-
@אחד-מאנש אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
קיבלתי כזה מייל
מישהו יודע האם זה קשור לזה ששינתי את הקוד למה שכתוב כאן@צדיק-תמים אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
@אחד-מאנש תוסיף רווח לפני המקף של:
'-category:promotions'
כלומר:
' -category:promotions'
אני מקבל כל כמה ימים כזה מייל והמערכת עובד לי רגיל
פשוט אל תתייחס להודעות האלו
או תכניס את זה לספאם -
@צדיק-תמים אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
@אחד-מאנש אם תעלה לפה את הקוד המלא שיש לך כעת (ללא המספר מערכת וסיסמה) אני יוכל לנסות לבדוק...
יש לי את מה שכתוב כאן
@אחד-מאנש אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
הבאתי את זה מכאן
@מנצפכ אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
בגלל כמה בעיות בקוד של @אביי ערכתי את הקוד של @שאול-נ-י שיתן רק 2200 תווים
function mailToPhone() { // משתנים לעריכת המשתמש const number = '**********' // :מספר המערכת const pass = '******' // :סיסמא const tag = 'ToPhone' // :שם התווית const extension = '1' // :מס' השלוחה להשמעה const tzl = '123' // :מספר רשימת צינתוקים const server = 'private' // :שרת 'www' לשרת רגיל 'private' לשרת פרייוט // עד כאן משתנים לעריכת המשתמש // משתנים לניסוח const cnsender = 'הודעה מאת' const cnsubject = ',נושא,' const cnbody = 'גוף ההודעה' const cnend = 'סוף ההודעה' // עד כאן משתנים לניסוח const url = ('https://' + server + '.call2all.co.il/ym/api/'); const token = (number + ':' + pass); const path = ('ivr2:' + extension + '/'); const listTzintuk = ('tzl:' + tzl); const label = GmailApp.getUserLabelByName(tag); let didUpload = false chechForGmails() function chechForGmails() { const threads = GmailApp.search('label:' + tag); for (const thread of threads) { const messages = thread.getMessages(); const minuteAgo = new Date(Date.now() - 60000); if (thread.getLastMessageDate() > minuteAgo) { for (const message of messages) { if (message.getDate() > minuteAgo) { const result = sendToYemot(message); didUpload = result || didUpload; } } thread.removeLabel(label); } else { const result = sendToYemot(messages[messages.length - 1]); didUpload = result || didUpload; thread.removeLabel(label); } } if(didUpload === true){ const tzintuk = UrlFetchApp.fetch(`${url}RunTzintuk?token=${token}&phones=${listTzintuk}`); Logger.log(tzintuk) } } function sendToYemot (message) { body = message.getPlainBody() body = body.replace(/\s{2,}/g, ' ') body = body.substring(0,2200) + cnend body = body.replace(new RegExp(`"|>|<`, 'g',), '') const ttsString = `${cnsender}. ${message.getFrom()}. ${cnsubject}. ${message.getSubject()}. ${cnbody}. ${body}`; Logger.log({ ttsString }); const directoryListing = JSON.parse(UrlFetchApp.fetch(`${url}GetIVR2Dir?token=${token}&path=${path}`)); Logger.log(directoryListing) if (directoryListing.responseStatus === 'OK') { const lastFileName = directoryListing.files .filter(file => file.fileType === 'AUDIO' || file.fileType === 'TTS') .map(file => file.name.split('.')[0]) .find(fileName => !isNaN(fileName)); const newFileNumber = Number(lastFileName || -1) + 1; const newFileName = newFileNumber.toString().padStart(3, '0'); const newFilePath = `${path}${newFileName}.tts`; const payload = { token, what: newFilePath, contents: ttsString }; const uploadResult = JSON.parse(UrlFetchApp.fetch(url + 'UploadTextFile?', { payload })); return uploadResult.responseStatus === 'OK'; } } }
בתוספת השינוי הזה
@צדיק-תמים אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
@אחד-מאנש תוסיף רווח לפני המקף של:
'-category:promotions'
כלומר:
' -category:promotions'
-
-
עשיתי הכל ואני מקבל צינתוק באמת אבל לשמוע את המיילים אני לא מצליח הוא אומר לי בשלוחה זו עדיין אין השמעות
-
@שלמה-עכסדור איזה קוד עשית ואיזה שלוחה רשמת בקוד ואיזה שלוחה אתה מנסה להקשיב
-
סליחה שלא עדכנתי אבל זה סודר הבעיה באמת היתה שהקוד היה מיועד לשלוחה 1 בזמן שרק שלוחה 2 היתה השמעת קבצים תודה בכל אופן
-
@מיכאלוש אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
@מנצפכ אמר במדריך | שמיעת המיילים בטלפון + צינתוק:
בפרטי ההודעה תשמע באיזה שעה ההודעה הגיעה
כשאני מקבל ממיל חדש אני לא שומע בפרטי ההודעה באיזה שעה זה הגיע, רק אם משהו ענה לי תשובה אני שומע באיזה שעה ותאריך אני שלחתי לו
(אם יש לך עניין אני יכול להוסיף בקלות אבל לא נראה לי שצריך)
לי אישית זה מאוד יעזור לדעת מתי קיבלתי את ההודעה למשל הלכתי לישון 5 שעות וכשקמתי ראיתי שקיבלתי כמה מיילים אם זה מהדקות האחרונות אנשים עדיין מחכים לתגובה שלי ואם זה מלפני 4 שעות אז כבר התייאשו מהתשובה שלי והסתדרו לבד
אשמח מאוד אם תוסיף ליגם אני מצטרף להנ"ל
נראה לי שיהיה מאוד תועלתי להוסיף את האפשרות של שמיעת הזמן שבו נשלחה ההודעה (ובפרט אם זה בקלות כמו שאתה כותב)