@י.-פל. כתב בהמלצה | פרוייקט כלי קודש לוורד - ארגז כלים לעורך התורני:
לא ניסיתי, אבל לא בטוח דה כ"כ קשה...
ניסתי באפס הבנתי ולא הצלחתי...
תעדכן אם אתה מצליח!!!
@י.-פל. כתב בהמלצה | פרוייקט כלי קודש לוורד - ארגז כלים לעורך התורני:
לא ניסיתי, אבל לא בטוח דה כ"כ קשה...
ניסתי באפס הבנתי ולא הצלחתי...
תעדכן אם אתה מצליח!!!
@יאנג-בוי
בסוף הסתדרתי, יש אפשרות כזו גם לקלאודפלייר עצמם, וזה מריץ לי את הקוד שלהם...
תודה רבה על העזרה!
@יאנג-בוי
עשיתי את זה, אבל--
היום בשעה 19:04:02
נכשל (שגיאת HTTP) ( 810 אלפיות שנייה )
אולי יש איזה חסימה אצל קלאודפלייר נגד זה?
משהו מוזר, בפעם הראשונה לוקח לזה בערך 3 - 4 שניות, אבל מהפעם השניה (באותו השיחה) זה לוקח חצי שניה.
לשרת יותר קל לשלוח בקשה שניה מאשר את הראשונה? לימות המשיח?
תודה למסייעים!
@יאנג-בוי
זה עובד ממש מצוין!
ובאמת הרבה יותר מהר.
תודה!
@יאנג-בוי
ממש תודה רבה!
עזרת לי לא נורמלי!
@יאנג-בוי כתב בבירור | מהירות שרת שמתקשר עם ימות המשיח:
ולא בתגובה לבקשה?
יש אפשרות לעבור לשלוחה אחרת לפי הקשה של המשתמש, כשהשלוחה היא לא קבועה? זאת אומרת, שאם הוא מפעיל את הAPI כשהוא מאזין לקובץ 001 הוא יעבור לשלוחה 001, ואם הוא מאזין לקובץ 002 הוא יעבור לשלוחה 002?
@יאנג-בוי
למה לא נכון? זה עובד מצויין.
לחיצה על 7 במערכת של ימות מפעילה את הקוד, ואז המשתמש עובר לשלוחה המתאימה על ידי הAPI של ימות.
יש לך רעיון יותר טוב איך לעשות את זה? אני ישמח!
@יאנג-בוי
המשתמש עובר משלוחה לשלוחה בהקשה על 7.
המטרה שלי היתה שהוא יעבור משלוחה /1/1 בקובץ 030 לדוגמא לשלוחה מיוחדת לקובץ הזה, בקוד הוא מועבר במקביל לשלוחה /999/1/030 במקביל למה שהוא שמע.
הקוד כתוב בג'אווה סקירפט, בהנחה שהבינה לא עבדה עלי
.
הקוד בספויילר:
const API_BASE = 'https://www.call2all.co.il/ym/api';
const TOKEN = '07*********:*******';
async function getCallId(phone) {
const url = `${API_BASE}/GetIncomingCalls?token=${TOKEN}`;
const response = await fetch(url);
const data = await response.json();
if (data.responseStatus !== 'OK' || !data.calls || data.callsCount === 0) return null;
const call = data.calls.find(c => c.callerIdNum === phone);
return call ? call.id : null;
}
async function transferCall(id, path) {
const action = `set:GOasap=/999/${path}`;
const url = `${API_BASE}/CallAction?token=${TOKEN}&ids=${id}&action=${encodeURIComponent(action)}`;
const response = await fetch(url);
return response.json();
}
function extractPath(what) {
if (!what) return '';
// ניקוי ראשוני של המבנה
let clean = what.replace(/^ivr\d+:\/?/, '').replace(/\.wav$/, '');
let parts = clean.split('/').filter(p => p !== '');
// אם יש לפחות 2 איברים, נסיר את האיבר שנמצא במקום השני (index 1)
if (parts.length >= 2) {
parts.splice(1, 1);
}
return parts.join('/');
}
export default {
async fetch(request) {
const url = new URL(request.url);
const phone = url.searchParams.get('ApiPhone');
const what = url.searchParams.get('what');
if (!phone || !what) {
return new Response('פרמטרים חסרים: ApiPhone ו-what נדרשים', { status: 400 });
}
const path = extractPath(what);
if (!path) {
return new Response(JSON.stringify({
success: false,
message: `נתיב ריק אחרי חילוץ מ-what="${what}"`
}, null, 2), { headers: { 'Content-Type': 'application/json' } });
}
const id = await getCallId(phone);
if (!id) {
return new Response(JSON.stringify({
success: false,
message: `לא נמצאה שיחה פעילה עבור ${phone}`
}, null, 2), { headers: { 'Content-Type': 'application/json' } });
}
const result = await transferCall(id, path);
const success = result && result.responseStatus === 'OK';
return new Response(JSON.stringify({
success,
message: success
? `הועבר שיחה ${id} לשלוחה 999/${path}`
: `שגיאה בהעברת שיחה ${id}`,
path,
callActionResult: result
}, null, 2), { headers: { 'Content-Type': 'application/json' } });
}
};
בניתי מערכת של ימות המשיח שעובדת עם שליחת נתונים לשרת.
הבעיה היא שלוקח לכל פעולה בערך 6 שניות עד שהיא מתבצעת (זה שתי פקודות שצריך להריץ אחד אחרי השניה עם קבלת נתונים), וזה מאוד לא נח למשתמשים.
השאלה היא האם זה קשור לחברה של השרתים, ואם יש בזה הבדל בין שרת חינמי לשרת בתשלום, או שברמה הזו אין הבדל משמעותי.
עכשיו אני על שרת של קלאודפלייר החינמי (שעובד מצויין עם ימות המשיח).
תודה רבה!
הגדרתי שכל הקלטה שמקליטים בקו שלי תישמר גם בשלוחה של כל ההשמעות.
אם אני מוחק את הקובץ המקורי זה מוחק אותו גם בשלוחה של כל ההשמעות, כך שהמערכת בעצם 'יושבת' על הקובץ המקורי.
יש לי דרך לדעת מאיפה כל קובץ הגיע? אני רוצה להגדיר פקודות בAPI על הקבצים לפי המיקום המקורי שלהם.
תודה רבה למסייעים!
@im0504123
יש לזה כלי מדהים של @יהודי-צעיר, תחפש בפורום אוצריא.
@צללית
קימפלתי לפני שנה בערך, כך שלא רלוונטי.
@המלאך כתב בבעיה | קמפלתי קוד פייתון ונמחק לי הקוד:
זה לא אפשרי מאה אחוז תואם.
הבינה ממש השביחה את הקוד, סידרה אותו וכו'...
אבל האמת שעוד לא בדקתי אם זה עובד.
תודה ל @זאב-לבן שעזר!
@זאב-לבן
יש סיכוי שאתה מעלה לו משהו שלי?
@זאב-לבן
אין לי AI, מה הפתרון שהוא נתן לך?
@זאב-לבן כתב בבירור | איך עושים חומתמת מים על תמונות מרובות בצורה פשוטה?:
השגתי אותו כבר דרך AI...
יש לי איך לשחזר את הקוד מהקובץ המקומפל?
קוד להרצה בתוך הקונסול (בלי UI), קמפלתי עם הקימפול הרגיל של פייתון, לא זוכר כרגע מה שמו.
אני שואל איך לשחזר מהקובץ המקומפל, ולא איך לשחזר במחשב, את זה כבר ניסיתי...
תודה רבה!
@בנימין-כפיר
שוב תודה, בדיוק מה שהייתי צריך!