yemot-router2
-
תגובה: עדכון | גרסה 6 של yemot-router2 יצאה
לא הסתדרתי עם זה, אני חדש בnodejs, הכנסתי את הדוגמא שיש שם והוא כותב[root@alma-4gb-nbg1-1 public_html]# node app.mjs node:internal/errors:496 ErrorCaptureStackTrace(err); ^ Error [ERR_MODULE_NOT_FOUND]: Cannot find module '***/index.js' imported from ***/app.mjs at new NodeError (node:internal/errors:405:5) at finalizeResolution (node:internal/modules/esm/resolve:327:11) at moduleResolve (node:internal/modules/esm/resolve:980:10) at defaultResolve (node:internal/modules/esm/resolve:1206:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:404:12) at ModuleLoader.resolve (node:internal/modules/esm/loader:373:25) at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:250:38) at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:39) at link (node:internal/modules/esm/module_job:75:36) { url: 'file:///***/index.js', code: 'ERR_MODULE_NOT_FOUND' } Node.js v18.20.8
-
@עידו אם אתה לא עושה clone לספריה אתה אמור לייבא מ 'yemot-router2'
-
@צדיק-תמים העתקתי את הדוגמא שיש שם כמו שהיא
-
@עידו לכן הסברתי מה לשנות
אני אשתדל לשפר את זה שיהיה יותר ברור -
@צדיק-תמים אהה צריך לשנות...
אפשר הסבר על רגל אחת מה לעשות? -
@עידו תראה את הדוגמה העדכנית בגיטאהב
-
@צדיק-תמים שיניתי
עכשיו אין שגיאות אבל כשנכנסים לשרת הוא רק טוען וטוען
גם ששמתי את הקישור בשלוחת API לא שומעים כלום -
@עידו
מה הקוד ששמת? -
import express from 'express'; import { YemotRouter } from 'yemot-router2'; import { fileURLToPath } from 'url'; import process from 'process'; export const app = express(); export const router = YemotRouter({ printLog: true, uncaughtErrorHandler: (error, call) => { console.log(`Uncaught error in ${call.req.path} from ${call.phone}. error stack: ${error.stack}`); // do something with the error - like send email to developer, print details log, etc. return call.id_list_message([{ type: 'text', data: 'אירעה שגיאה' }]); // play nice error message to the caller } }); router.events.on('call_hangup', (call) => { console.log(`[example.js] call ${call.callId} was hangup`); }); router.events.on('call_continue', (call) => { console.log(`[example.js] call ${call.callId} was continue`); }); router.events.on('new_call', (call) => { console.log(`[example.js] new call ${call.callId} from ${call.phone}`); }); /** @param {import('yemot-router2').Call} call */ async function callHandler (call) { // לא ניתן להתקדם ללא הקשת 10 וסולמית await call.read([{ type: 'text', data: 'היי, תקיש 10' }], 'tap', { max_digits: 2, min_digits: 2, digits_allowed: ['10'] }); const name = await call.read([{ type: 'text', data: 'שלום, אנא הקש את שמך המלא' }], 'tap', { typing_playback_mode: 'HebrewKeyboard' }); console.log('name:', name); const addressFilePath = await call.read( [ { type: 'text', data: 'שלום ' + name }, { type: 'text', data: 'אנא הקלט את הרחוב בו אתה גר' } ], 'record', { removeInvalidChars: true } ); console.log('address file path:', addressFilePath); // 💰 קטע זה משתמש בזיהוי דיבור ודורש יחידות במערכת 💰 const text = await call.read([{ type: 'text', data: 'אנא אמור בקצרה את ההודעה שברצונך להשאיר' }], 'stt'); console.log('user message:', text); // לאחר השמעת ההודעה יוצא אוטומטית מהשלוחה // לשרשור פעולות לאחר השמעת ההודעה יש להגדיר prependToNextAction: true, ראה בREADME return call.id_list_message([{ type: 'system_message', data: 'M1399' // תגובתך התקבלה בהצלחה }]); }; router.get('/', callHandler); // this must if you want to use post requests (api_url_post=yes) app.use(express.urlencoded({ extended: true })); app.use('/', router); const port = 3000; const isMain = process.argv[1] === fileURLToPath(import.meta.url); if (isMain) { app.listen(port, () => { console.log(`example yemot-router2 running on port ${port}`); }); }
-
@פיסטוק-פרווה שמתי בשרת קבצי index.js package.json package-lock.json כמו שבתיעוד.
-
@עידו נשמע חומת אש (firewall)
ואל תעתיק את כל התיקייה כמו שהיא. תנסה להבין איך package json עובד ותתקן את הספריה כמו שצריך. אבל את הקוד אפשר לעשות העתק הדבק -
@צדיק-תמים פתחתי פורט 3000 בחומת אש ועדיין עושה בעיות
-
@עידו כשאני נכנס לפורט 3000 זה אכן נכנס בלי בעיות
http://node.stamandsefer.co.il:3000/
בתמונה לעיל אתה נכנס לפורט 80
http://node.stamandsefer.co.il -
@צדיק-תמים על השרת עצמו הוא רץ
עשיתי
node index.js
ויצא
example yemot-router2 running on port 3000יצרתי כזה פרויקט במחשב וגם שם הוא מציג אותו הדבר
-
@צדיק-תמים כתב בyemot-router2:
@עידו כשאני נכנס לפורט 3000 זה אכן נכנס בלי בעיות
http://node.stamandsefer.co.il:3000/הוא אומר מענה ריק
-
@צדיק-תמים איך מתקדמים עם זה בימות המשיח?
-
@עידו כתב בyemot-router2:
@צדיק-תמים כתב בyemot-router2:
@עידו כשאני נכנס לפורט 3000 זה אכן נכנס בלי בעיות
http://node.stamandsefer.co.il:3000/הוא אומר מענה ריק
עכשיו, נכון
בכל מקרה כל זה לא קשור לספריה אלא לפריסה של הקוד בשרת -
מישהו יודע מה עושים הלאה?
כי לא נראה לי תקין להכניס בשלוחה http://node.stamandsefer.co.il:3000/ -
@עידו לא תקין מאיזו בחינה?
אין בזה שום בעיה טכנית. אתה יכול לשנות בקוד/ברברס פרוקסי לפורט 80 אם ממש מפריע לך המראה של המספרים בסוף -
@צדיק-תמים מה שכתבתי במתמחים.
למה באמת כולם עושים את זה על פורט 3000? מה רע ב80?