/yemot-router

Primary LanguageJavaScript

yemot-router

Because I do not know English, the documents are now in Hebrew. With the help of God in teaching English, I'll translate that.

לתכנת מערכת ב'ימות-המשיח' בקלות.

התקנה (NodeJS)

npm i yemot-router

שימוש

התקשורת עם המשתמש, נעשית דרך האובייקט Call. מחלקת הראוטר מקבלת כפרמטר פונקציית קולבק (CallBack), שהפרמטר שלה הוא אובייקט הCall. עם המתודות של האובייקט הזה, ניתן להפעיל ולהפנות את המשתמש.

דוגמא בסיסית

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);
});

מתודות אובייקט הCall

read(massage : [], mode : string, options : {}) : Promise

מתודה לשאילת שאלה את המשתמש, וקבלת התשובה מתי שתגיע, ע"י הבטחה (Promise).

הפרמטר massage :

הפרמטר הראשון, הוא השאלה שהמשתמש ישמע. מערך של אובייקטים, שכל אחד מהם הוא קובץ או הקראה, שתושמע למשתמש.

טקסט שיוקרא למשתמש:

let massage = [
	{ type: "text", data: "היי, תקיש 10" }
];
השמעת קובץ במערכת:
let massage = [
	{ type: "file", data: "000" }
];
השמעת מספר:
let massage = [
	{ type: "number", data: "512" }
];
השמעת ספרות:
let massage = [
	{ type: "digits", data: "077313770" }
];
הקראת קובץ טקסט הנמצא במערכת:
let massage = [
	{ type: "speech", data: "000" }
];
הקראת אותיות באנגלית:
let massage = [
	{ type: "alpha", data: "abc@gmail.com" }
];

הפרמטר mode :

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

האפשרויות:

tap = הקשה

stt = זיהוי דיבור

record = הקלטה

הפרמטר options :

בפרמטר הזה, ניתן להעביר אפשרויות נוספות, כגון סך הקשות מינימלי, מקסימלי, וכו'.

ערכי ברירת מחדל - הקשה:
let options = {
	
	/* שם הערך בימות
	 ברירת מחדל, נקבע אוטומטית,
	 val_1, val_2 ... */
	val_name: "val_x", 

	/* האם לבקש את הערך שוב אם קיים. */
	re_enter_if_exists: false,

	/* כמות ההקשות המקסימלית */
	max: "*",

	/* כמות ההקשות המינימלית */
	min: 1,

	/* שניות להמתנה */
	sec_wait: 7,

	/* צורת ההשמעה למשתמש את הקשותיו */
	play_ok_mode: "No",

	/* האם לחסום הקשה על כוכבית */
	block_asterisk: false,

	/* האם לחסום הקשה על אפס */
	block_zero: false,

	/* החלפת תווים*/
	replace_char: "",

	/* ספרות מותרות להקשה - מערך
	[1, 2, 3 ...]
	*/
	digits_allowed: [],

	/* אחרי כמה שניות להשמיע שוב את השאלה */
	amount_attempts: "",

	/* אם המשתמש לא ענה, האם לשלוח ערך*/
	read_none: false,

	/* הערך שיישלח באין תשובה */
	read_none_var: ""
}
ערכי ברירת מחדל - זיהוי דיבור:
let options = {

	lang: "",

	allow_typing: false
};
ערכי ברירת מחדל - הקלטה:
let options = {

	path: "",

	file_name: "",

	record_ok: true,

	record_hangup: false,

	record_attach: false,

	lenght_min: "",

	lenght_max: ""
};

go_to_folder(folder: string): void

restart_ext()

id_list_message(massage)

routing_yemot(phone)

send(data)