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: ""
};