Because I do not know English, the documents are now in Hebrew. With the help of God in teaching English, I'll translate that.
לתכנת מערכת ב'ימות-המשיח' בקלות.
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);
});
מתודה לשאילת שאלה את המשתמש, וקבלת התשובה מתי שתגיע, ע"י הבטחה (Promise).
הפרמטר הראשון, הוא השאלה שהמשתמש ישמע. מערך של אובייקטים, שכל אחד מהם הוא קובץ או הקראה, שתושמע למשתמש.
טקסט שיוקרא למשתמש:
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: "[email protected]" }
];
הפרמטר הזה קובע, האם לקבל תשובה, ע"י הקשה, זיהוי דיבור, או הקלטה.
האפשרויות:
tap
= הקשה
stt
= זיהוי דיבור
record
= הקלטה
בפרמטר הזה, ניתן להעביר אפשרויות נוספות, כגון סך הקשות מינימלי, מקסימלי, וכו'.
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
};