• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private

    מחלקת תקשורת עם מודול API בימות - NodeJS

    פורום מפתחים API
    1
    1
    517
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • מ
      מאזין נלהב נערך לאחרונה על ידי

      לא הייתי פה הרבה זמן...
      תתחדשו על הפורום.

      הבעייתיות שבמודול תקשור עם API, כבר נטחנה בפורומים השונים.
      הסקריפט, לא נקרא מהתחלה לסוף שורה אחרי שורה, אלא נקרא בכל פעולה מהשורה הראשונה, היות וזו בקשה חדשה לשרת.
      אני מניח שכל מי שפיתח קוד כלשהו למודול תקשור עם API, חווה את התסכול הזה, לבדוק כל פעם, איפה המשתמש הספיציפי הזה נמצא כרגע, במהלך הקוד, ולהוביל אותו לשם.

      לפיתרון הבעיה הזאת, כתבתי בNodeJS מודול, שמאפשר לכתוב סקריפט רציף, ללא סרבולים ובדיקות מיותרות.
      הקוד נקרא שורה אחרי שורה, פעולה אחרי פעולה.

      המודול משתמש במודול אקספרס, צריך להכיר אותו קודם.
      בעצם, המודול הזה הוא ראוטר לאקספרס.
      מדריך לאקספרס, יש באתר אינטרנט ישראל, של רן בר-זיק.

      https://github.com/MusiCode1/yemot-router

      התקנה:

      npm i yemot-router
      

      הנה דוגמא לשימוש:
      בדוגמא הזאת המשתמש מקיש מספר, ולאחר מכן המספר מושמע לו.

      const express = require("express");
      const yemot_router = require("yemot-router");
      
      const port = 3000;
      const app = express();
      const y = yemot_router();
      
      y.add_fn(async (call) => {
      
      	let massage = [{ type: "text", data: "היי, תקיש 10" }];
      	let r = await call.read(massage);
      
      	if(r.hangup) {
      		return;
      	}
      
      	console.log(r);
      
      	massage = [{ type: "text", data: "הקשת " + r.data }];
      	call.id_list_message(massage);
      });
      
      app.use("/", y);
      
      app.listen(port, () => {
      	console.log("lisen in port", port);
      });
      

      יש עוד מה לשפר...
      אולי אם יהיה מישהו שישלים את זה, יהיה מבורך.

      לא מתחייב שיהיה לי זמן לזה... סליחה מראש.

      תגובה 1 תגובה אחרונה תגובה ציטוט 13
      • פוסט ראשון
        פוסט אחרון