מדריך | שמיעת המיילים בטלפון + צינתוק
-
-
@צדיק-תמים אני עשיתי את הקוד השני שהביאו כאן מה אני צריך לשנות שמה
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'