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

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

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

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

      הבעייתיות שבמודול תקשור עם 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
      • פוסט ראשון
        פוסט אחרון