ืกืคืจืื ืฉืืืคืฉืจืช ืืชืื ืช ืืขืจืืืช ืืืคืื ืืืช ืืงืืืช ืืืืฆืขืืช ืืืืื API ืฉื ืืืจืช 'ืืืืช ืืืฉืื'.
ืืืจืช ืืกืคืจืื ืืืคืฉืจ ืชืงืฉืืจืช ืืื ืืืขืจืืช ืืืืคืื ืืช ืืฆืืจื ื ืงืื ืืงืจืืื:
- ืืจืฆื ืจืฆืืคื ืฉื ืืงืื ืืชืืืื ืืขื ืกืืฃ, ืชืื ืฉืืืจืช ืstate ืฉื ืืฉืืื ืืื ืืงืจืืืืช, ืืฆืืจื ืฉืงืืคื ืืืืืืื
- ืืฆืืจืช ืืชืฉืืืืช ืขื ืืื ืงืจืืื ืืืชืืืืช ืฉื ืืฉืืื ืืืงืื ืืฆืืจื ืืื ืืช ืฉื ืืกืืจืื ืืื
- ืืคืฉืจืืืืช ื ืืืืช ื ืืกืคืืช ืืืื ืืืคื ืืฉืืืืืช, ืืกืจื ืฉื ืชืืืื ืื ืืืงืืื, ืืื ืืืืืืื ืืคืืจื (ืืืคืฆืืื ืื)
- ืชืืขืื ืืคืืจื ืืืืืข ืืืืฆื ืชืื ืืื ืขืจืืื โซ(JSDoc)
- ืชืืืื ืTypeScript
- ืืขืื ืืคืฉืจืืืืช ืจืืืช! ืคืืจืื ืืชืืขืื ๐
npm install yemot-router2
โ๏ธ ืืฉืืจืืื ืืืจืกื ืงืืืืช? ืจืื changelog!
ืืืืืฅ ืืืฉืชืืฉ ืืืคืชืืจ "ืชืืื ืืขื ืืื ืื" ืืืืืืืื ืืื ืื ืืื ืืชืืขืื:
ืืกืคืจืื ืขืืืืช ืขื ืืื ืืืงืื ืฉื Express Router, ืื ืฉืืืคื ืืฉืืืืฉ ืืื ืื ืืืื. ืืืืื:
import { YemotRouter } from 'yemot-router2';
const router = YemotRouter();
router.get('/', async (call) => {
return call.id_list_message([{
type: 'text',
data: 'ืฉืืื ืขืืื'
}])
});
ืืช ืืจืืืืจ ืืฉ ืืืืจ ืืืคืืืงืฆืืืช express ืขื ืืื app.use
, ืืจืืื.
ืืจืืืืจ ืืงืื ืคืื ืงืฆืืื ืืกืื ืืจืื ืืช, ืฉืืืจืืืื ื ืฉืืื ืืงืืืช ืืืจืืืืจ ืืื ืืืืืืงื Call
(ืืืืืจ ืืืืฉื), ืืืืืฆื ืืช ืืฉืืื, ืืืืืฆืขืืช ืืืชืืืืช ืฉืื ื ืืชื ืืงืื ืืืืข ืืืืืช ืืฉืืื, ืืืฉืืืข/ืืืงืฉ ื ืชืื ืื ืืืืืืื, ืืืคื ืืช ืืืชื ืืฉืืืื ืืืจืช, ืืขืื.
๐จโ๐ป ืืืืื ืืกืืกืืช: example.js
ืืืค: ืืืืืฅ ืืืื ืื ืืืืืืจ ืืฉืืืื api_hangup_send=no
, ืืืืฆืืขื ืืืืจืื ืืืืื ืืืชืจ.
ืืจืืืืจ ืืงืื ืืช ืืคืื ืงืฆืืืช ืืืืืช, ืืืื ืืืคืฆืืื ืืืืช:
- timeout: โซ ืืื ืืืชื ื ืืงืืืช ื ืชืื ืืืืฉืชืืฉ (ืืืืืืฉื ืืืช). ืืืืื ืืื ืืชืงืื ืื ืชืื ืืืื ืื "ื, ืืฉืืื ืชืืืืง ืืactiveCalls ืืื ืื ืืืฉืชืืฉ ืืงืืฉ ืืฉืจืช ืืงืื ืืืชื ืืฉืืื ืืืฉื.
โซืืงืื ืืกืคืจ ืืืืืฉืื ืืืช, ืื ืืืจืืืช ืืงืืืื ืข"ื ืกืคืจืืืช ืกืคืจืืืช ms.
โซืืืกื ืื ืืงืจื ืงืฆื ืฉืื ืืชืงืืื ืืืืืช ืืงืจืืื ืขื hangup=yes.
โซืืฉ ืืฉืื ืื ืื ืืืืืืจ ืขืจื ื ืืื ืฉืืืืื ืืืืืืื ืฉืื ืืงืืฉ ืืื ืชืฉืืื ืขืืื ืืืืชืงื ื-timeout. - printLog (ืืืืืื ื): ืืื ืืืืคืืก ืืื ืืคืืจื ืขื ืื ืงืจืืื ืืฉืจืช, ื ืืชืืง ืฉืืื ืืืืื. ืฉืืืืฉื ืืคืืชืื.
- uncaughtErrorHandler: (ืคืื ืงืฆืื) โซ ืคืื ืงืฆืื ืืืืคืื ืืฉืืืืืช ืื ืืืืคืืืช ืืชืื ืฉืืื, ืฉืืืืฉื ืืืืืื ืืฉืืืจืช ืืื + ืืฉืืขืช ืืืืขื ืืืฉืชืืฉ, ืืืงืื ืงืจืืกื ืฉื ืืฉืจืช, ืืืืฉืชืืฉ ืืฉืืข "ืืื ืืขื ื ืืฉืจืช API". ืจืื ืืืืื ืexample.js.
ืื ืืกืฃ ื ืืชื ืืืขืืืจ ืืืคืฆืืืช ืฉื ืืงืกืคืจืก ืจืืืืจ ืขืฆืื - ืจืื ืคืืจืื ืืชืืขืื express.js.
ืืชืืื ืืงืืืช ื ืชืื ืืืืืืื, ืืืืืจื Promise
ืขื ืืชืฉืืื (ืืืงืจื ืฉื ืืงืฉืช ืืงืืื, ืืืืืจ ื ืชืื ืืงืืืฅ).
ืคืืจืื ื ืืกืฃ ืขื read
: https://f2.freeivr.co.il/post/78283
ืืืืืขืืช ืฉืืืฉืืขื ืืืืืื ืืคื ื ืงืืืช ืื ืชืื.
ืืขืจื ืฉื ืืืืืืงืื "ืืืืขื" (ืจืื ืคืืจืื ืืืืฉื), ืฉืืืฉืืขื ืืืฉืชืืฉ ืืจืฆืฃ.
ืืืืืจ ืืช ืกืื ืื ืชืื ืฉืืืงืฉืื ืืืืืืื:
tap
= ืืงืฉืืช
stt
= ืืืืื ืืืืืจ
record
= ืืงืืื
ืืคืจืืืจ ืืื, ื ืืชื ืืืขืืืจ ืืคืฉืจืืืืช ื ืืกืคืืช, ืืืื ืกื ืืงืฉืืช ืืื ืืืื, ืืงืกืืืื, ืืื'.
let options = {
/* ืฉื ืืขืจื ืืืืืช
ืืจืืจืช ืืืื, ื ืงืืข ืืืืืืืืช,
val_1, val_2, val_3 ...
*/
val_name: "val_x",
/* ืืื ืืืงืฉ ืืช ืืขืจื ืฉืื ืื ืงืืื. */
re_enter_if_exists: false,
/* ืืืืช ืืกืคืจืืช ืืืงืกืืืืืช ืฉืืืฉืชืืฉ ืืืื ืืืงืืฉ */
max_digits: "*",
/* ืืืืช ืกืคืจืืช ืืื ืืืืืช */
min_digits: 1,
/* ืฉื ืืืช ืืืืชื ื */
sec_wait: 7,
/* ืฆืืจืช ืืืฉืืขื ืืืฉืชืืฉ ืืช ืืงืฉืืชืื
ืืื ืืขืื ืืื ืื ืืืงืืืช ืฉืื ื ืืืงืืืช ืกืคืจืืช, ืืืื EmailKeyboard ืื HebrewKeyboard, ืืฉ ืืืื ืืก ืืื ืืช ืกืื ืืืงืืืช
[ืจืื example.js]
ืืืืคืฆืืืช ืืงืืืืืช:
"Number" | "Digits" | "File" | "TTS" | "Alpha" | "No" | "HebrewKeyboard" |
"EmailKeyboard" | "EnglishKeyboard" | "DigitsKeyboard" | "TeudatZehut" |
"Price" | "Time" | "Phone" | "No"
ืคืืจืื ืขื ืื ืืืคืฆืื ื ืืชื ืืืฆืื ืืชืืขืื ืืืืื API ืฉื ืืืืช ืืืฉืื, ืชืืช"ืืขืจื ืืฉืืฉื (ืืงืฉื)".
*/
typing_playback_mode: "No",
/* ืืื ืืืกืื ืืงืฉื ืขื ืืืืืืช */
block_asterisk_key: false,
/* ืืื ืืืกืื ืืงืฉื ืขื ืืคืก */
block_zero_key: false,
/* ืืืืคืช ืชืืืื*/
replace_char: "",
/* ืกืคืจืืช ืืืชืจืืช ืืืงืฉื - ืืขืจื
[1, 2, 3 ...]
*/
digits_allowed: [],
/* ืืื ืคืขืืื ืืืฉืืืข ืืช ืืฉืืื ืืคื ื ืฉืืืืช ืชืฉืืืช "None" (ืืืืืจ ืชืฉืืื ืจืืงื). ืืจืืจืช ืืืื ืคืขื ืืืช */
amount_attempts: "",
/*
ืืื ืืืคืฉืจ ืชืฉืืื ืจืืงื - ืื ืฉืืืืจ ืืื ืืืืชื ื ืืืฉืืข "ืื ืืืงืฉื ืืืืจื" ืืืืจืืฉ ืืืงืืฉ
ืืจืืจืช ืืืื ืื ืืืคืฉืจ ืชืฉืืื ืจืืงื
*/
allow_empty: false,
/*
ืืขืจื ืฉืืืฉืื ืืฉืื ืืืงืฉื ืชืฉืืื. ืืจืืจืช ืืืื "None"
ื ืืชื ืืืขืืืจ ืื ืขืจืืื ืฉืืื ื ืืืจืืืช, ืืืืืื null ืืืขืจื ืฉืืชืงืื ืืread ืืืื null ืืื 'null'
*/
empty_val: "None",
/* ืืื ืืืกืื ืฉืื ืื ืฉืคืช ืืงืืืช */
block_change_keyboard: false,
}
ืขืจืื ืืจืืจืช ืืืื - ืืงืืืืช:
const options = {
/* ื ืชืื ืืฉืืืจืช ืืืงืืื - ืฉืืืื ืืืื, ืืจืืจืช ืืืื ืฉืืืื ื ืืืืืช, ืื api_dir ืื ืืืืืจ */
path: '',
/* ืฉื ืงืืืฅ (ืืื ืกืืืืช) ืืฉืืืจืช ืืืงืืื, ืืจืืจืช ืืืื - ืืืืกืคืจ ืืืืืืืืช ืืงืืืฅ ืืืืื ืืฉืืืื */
file_name: '',
/*
ืืจืืจืช ืืืื ืืฉืืืข ืชืคืจืื ืืืืฉืืจ ืืืงืืื/ืืงืืื ืืืืฉ, ื ืืชื ืืืืืืจ ืฉืืื ืืืงืฉื ืขื ืกืืืืืช ืืืงืืื ืชืืืฉืจ
*/
no_confirm_menu: false,
/* ืืื ืืฉืืืจ ืืช ืืืงืืื ืืื ืืืฉืชืืฉ ื ืืชืง ืืืืฆืข ืืงืืื */
save_on_hangup: false,
/*
ืืืืื ืืืืืืจ ืฉื ืงืืืฅ ืืฉืืืจื (file_name) ืืืืจ ืงืืื ืงืืืฅ ืืื,
ืืื ืืฉื ืืช ืืช ืฉื ืืงืืืฅ ืืืฉื ืืืฉืืืจ ืืช ืืืืฉ ืืฉื ืฉื ืืืจ (ืืจืืจืช ืืืื), ืื ืืฆืจืฃ ืืช ืืืงืืื ืืืืฉื ืืกืืฃ ืืงืืืฅ ืืืฉื
*/
append_to_existing_file: false,
/* ืืืืช ืฉื ืืืช ืืื ืืืืืช ืืืงืืื, ืืจืืจืช ืืืื ืืื ืืื ืืืื */
min_length: '',
/* ืืืืช ืฉื ืืืช ืืงืกืืืืืช ืืืงืืื, ืืจืืจืช ืืืื ืืื ืืืืื */
max_length: ''
};
ืขืจืื ืืจืืจืช ืืืื - ืืืืื ืืืืืจ:
const options = {
/*
ืฉืคืช ืืืืืืจ
ืืจืืจืช ืืืื ืขืืจืืช ืื ืื ืฉืืืืืจ ืlang ืืฉืืืื,
ืจืฉืืืช ืืฉืคืืช ืืืืื ืืช ืืืืืจื: https://did.li/m1lrl
*/
lang: '',
/*
ืืื ืืืกืื ืืงืฉื ืืืฆื ืืืืื ืืืืืจ
ืืจืืจืช ืืืื ืืืคืฉืจ ืืืงืืฉ ืชืื ืืื ืืืืืืจ, ืืืืืจ ืืืืืื ืืืืจ ืื ืืืงืืฉ ืื ืืืืจ
*/
block_typing: false,
/*
ืืงืกืืืื ืกืคืจืืช ืฉืืคืฉืจ ืืืงืืฉ, ืืื ืื ื ืืกืื ืืืงืฉื ืชืื ืืื ืืืืืจ
ืืจืืจืช ืืืื ืื ืืืืื
*/
max_digits: '',
/*
ืืื ืืืฉืชืืฉ ืืื ืืข ืืืืืืจ ืฉื ืืงืืืืช - ื ืฆืจื ืขืืืจ ืืืืื ืืงืกื ืืจืื
ืืื ืืคืขืืืื ืืืืจื ืื, ืื ื ืืชื ืืงืืื ืืงืฉืืช ืชืื ืืื ืืืืืจ
*/
use_records_recognition_engine: false,
/*
ืืืจื ืืื ืฉื ืืืช ืฉื ืฉืงื ืืกืืื ืืช ืืืงืืื,
ืจืืืื ืื ืจืง ืื ืืฉืชืืฉืื ืืื ืืข ืืืืื ืืงืกืืื ืืจืืืื (use_records_recognition_engine)
*/
quiet_max: '',
/*
* ืืกืคืจ ืฉื ืืืช ืืจืื ืืืงืืื, ืืจืืจืช ืืืื: ืืื ืืืืื
*/
length_max: ''
};
ืืชืืื ืืืขืืจืช ืืฉืืื ืืฉืืืื ืืกืืืืช ืืืขืจืืช ืื ืืืืืช.
ื ืืชื ืืืชืื ื ืชืื ืืืกื ืืฉืืืื ืื ืืืืืช ืื ืืฉืืืื ืืจืืฉืืช, ืคืืจืื ืขื ืืืืคืฆืืืช ืืืืื ืืช ื ืืชื ืืงืจืื ืืื.
ื ืืชื ืื ืืืขืืืจ ืืคืจืืืจ folder ืืช ืืกืืจืื ื hangup
, ืืื ืื ืชืง ืืช ืืฉืืื, ืื ืืืฉืชืืฉ ืืงืืฆืืจ call.hangup()
.
ืืคืขืื ืืืืฉ ืฉื ืืฉืืืื ืื ืืืืืช.
ืงืืฆืืจ ืืชืืืืจ ืืื:
call.go_to_folder(`/${call.ApiExtension}`);
ื ืืชืืง ืืฉืืื. ืงืืฆืืจ ืืชืืืืจ ืืื:
call.go_to_folder('hangup');
ืืืชืืื ืื ื ืืชื ืืืฉืืืข ืืืฉืชืืฉ ืืืืขื ืืืช, ืื ืืกืคืจ ืืืืขืืช ืืจืฆืฃ.
ืืืชืืื ืืงืืืช ืืขืจื ืฉื ืืืืขืืช (ืืืืืืงื message) ืืืฉืืืขื ืืืชื ืืืฉืชืืฉ.
ืืืืจ ืืฉืืขืช ืืืืืขืืช, ืืฉืืื ืชืฆื ืืืืืืืืช ืืืฉืืืื!
ืืื ืืขืื ืืื ืื ืืฉืจืฉืจ ืคืขืืื ื ืืกืคืช ืืืืจ ืืืฉืืขื, ืืืืืื ืืืฉืืืข ืืืืขื ืืื ืืืฆืข read
(ืงืืืช ื ืชืื ืื ื ืืกืคืื), ืืฉ ืืืืืืจ ืืืจืืืื ื ืoptions
ืืช prependToNextAction
ืtrue
.
ืืชืืื ืืืขืืจืช ืืฉืืื ืืืขืจืืช ืืืจืช ืืืืืช ืืืฉืื ืืื ืขืืืช ืืืืืืช, ืืืืฆืขืืช "ืจืืืืื ื ืืืืช".
ืืคืื ืงืฆืื ืืงืืืช ืืจืืืื ื ืืืื - ืกืืจืื ื ืฉื ืืกืคืจ ืืขืจืืช ืืืืืช ืืืขืืจืช ืืฉืืื.
ื ืืชื ืื ืื ืชื ืืช ืืฉืืื ืืืขืจืืช ืืฉืจืช ืืคืจืืืื ืืืขืจืืช ืืฉืจืช ืืจืืื ืืืืืคื.
ื ืืชื ืืืฉืชืืฉ ืืืชืืื ืื ืืื ืืฉืืื ืกืืจืื ื ืืืคืฉื ืืืืืืื, ืืืืืื ืขืืืจ ืคืื ืงืฆืืื ืืืืช ืฉืขืืืื ืื ื ืชืืืช ืืกืคืจืืื.
ืืืชืืื ืื ืืฉ ืืืขืืืจ ืืช ืืกืืจืื ื ืืืืืง ืืคื ืฉืืขืื ืืื ืื ืฉืืฉืจืช ืฉื ืืืืช ืืงืื ืืืชื, ืืืื ืื ืขืืืจ ืืืืืฆืื ืื ืขืืืื.
ืืื ืืืฉืชืืฉ ืืืงืฉืช ืืืืข - ืืืืืื ืืขืืจ ืืกืืืงืช ืืฉืจืื, ืืฉ ืืฉืื ืขื ืงืจืืืืช ื
await call.blockRunningUntilNextRequest();
ืืืื ืืช ืื ืืคืจืืืจืื ืฉื ืฉืืื ืืืืืช -
ืื ืืืงืฉื ื ืฉืืื ื-โซHTTP GET
, ืืืื ืืช ืโซquery string
,
ืื ืืืงืฉื ื ืฉืืื ื-โซHTTP POST
โซ(api_url_post=yes
), ืืืื ืืช ืโซbody
ืื ืืืืืืงื ืืืืขื ืฆืจืื ืืืืืช ืืืื ื ืืื:
{ type: string, data: string }
ืืืฉืจ type
ืืื ืกืื ืืืืขื ืืชืื ืืืืื ืฉืืืื, ืdata
ืืื ืืืืืข ืขืฆืื - string
,
ืืืื ืืืฉืจ ืtype
ืืื zmanim
/music_on_hold
, ืฉืื ืdata
ืืืื ืืืืืืงื - ืืคืืจื ืืชืืช ืืืืื:
ืกืืื ืืืืขืืช ื ืชืืืื:
ืกืื | ืชืืืืจ ืืงืืฆืจ | ืืืืื | ืืขืจืืช |
---|---|---|---|
text |
ืืงืจืืช ืืงืกื | ืืืืื ืืืงืกื ืืืืื |
ืฉืื ืื ืืืืืจื ืืชืืช ืืืืื ืืืื ืชืืืื ืฉืื ื ืืชื ืืืงืจืื |
file |
ืืฉืืขืช ืงืืืฅ ืืืืื | /1/002 , ื ืืชื ืืืชืื ืจืง ืืช ืฉื ืืงืืืฅ 002 ืื ืืงืืืฅ ื ืืฆื ืืชืงืืื ืื ืืืืืช |
ืืื ืืืชืื ืกืืืืช ืงืืืฅ. ื ืืชื ืืืฉืืืข ืืืืืจ ืืืืืื. |
speech |
ืืงืจืื ืืืืืืืืช ืฉื ืงืืืฅ TTS | ื ืชืื ืืงืืืฅ TTS ืื ืฉื ืงืืืฅ TTS ืืชืงืื ืื ืืืืืช | ืืื ืืกืืืืช |
digits |
ืืฉืืขืช ืกืคืจืืช | 105 - ืืฉืืืข "ืืืช ืืคืก ืืืฉ" |
ืฉืืืืฉื ืืขืืงืจ ืืืงืจืืช ืืกืคืจ ืืืคืื |
number |
ืืฉืืขืช ืืกืคืจ | 105 - ืืฉืืืข "ืืื ืืืืฉ" |
- |
alpha |
ืืฉืืขืช ืืืชืืืช ืืื ืืืืช | abc , ืืฉืืืข "ืืื, ืื, ืกื" |
ืื ืชืืื ืืขืืจืืช |
zmanim |
ืืฉืืขืช ืฉืขื | ืืืืืืงื. ืคืืจืื ืื ืคืจื ๐ | - |
system_message |
ืืฉืืขืช ืืืืขืช ืืขืจืืช | M1005 ืื 1005 |
ืจืฉืืืช ืืืืขืืช ืืืขืจืืช |
music_on_hold |
ืืฉืืขืช ืืืืืงื ืืืืชื ื | { musicName: 'ztomao', maxSec: 10 } |
ืืคืจืืืจ maxSec ืจืฉืืช. ืจืื ืืื ืกืืื ืืืืืงื ืืืื ืื ืืืืจืืืช ืืืฆืืจืช ืืืฉ. |
date |
ืืฉืืขืช ืชืืจืื ืขืืจื | ืคืืจืื DD/MM/YYYY - 28/07/2022 |
- |
dateH |
ืืฉืืขืช ืชืืจืื ืืืขืื | ืคืืจืื ืชืืจืื ืืืขืื DD/MM/YYYY , ืืฉืืืข ืืช ืืชืืจืื ืืขืืจื ืืืชืืื |
- |
go_to_folder |
ื ืชืื ืืืกื ืืฉืืืื ืื ืืืืืช ืื ืืฉืืืื ืืจืืฉืืช, ืจืื ืืื | ืืขืืจืช ืืฉืืื ืืฉืืืื ืืืจืช | ืื ืืืืืฅ, ืขืืืฃ ืืืฉืชืืฉ ื call.go_to_folder . ืื ื ืืชื ืืฉืจืฉืจ ืืืืขืืช ื ืืกืคืืช ืืืืจ ืกืื ืื. |
ืื ื ืืชื ืืืืืืจ ืืืืืช ืืช ืืชืืื:
ื ืงืืื,ืืงืฃ,ืืจืฉ,ืืจืฉืืื,&
ืืขืืจืช ืืื ืืืชืืื ืื "ื ืืืจืื ืืืจืืงืช ืฉืืืื, ืืื ืื ืื ื ืืคืฉืจ ืืกืจืช ืชืืืื ืื ืืืงืืื ืฉืงืื:
ืืืฉืจ ืืขืืืจืื ืืงืกื ืืืงืจืื ('type: 'text
) ื ืืชื ืืืืืืจ ืืกืจื ืฉื ืชืืืื ืื ืืืงืืื, ืืืืืจ ืฉืืืงืื ืืืจืืง ืฉืืืื ืื ืคืฉืื ืืืกืจื ืืืชืฉืืื ืฉืชืืืืจ ืืืืืช.
ืืืืืจื ืืื removeInvalidChars
, ืืืชื ื ืืชื ืืืืืืจ ืืฉืชื ืจืืืช, ืืจืืช ืืืืขื ืืืืืช, ืื ืืจืืช ืื ืread
/id_list_message
.
ืืืืืืืช:
- ืืจืืช ืืืืืขื ืืืกืืืืช - ืืขืืจืช ืืคืจืืืจ
removeInvalidChars
ืืืืืืืงื ืืืืืขื:
{
type: "text",
data: "ืืงืกื. ืืขืืืชื.",
removeInvalidChars: true
}
- ืืจืืช ืื ื
read
/id_list_message
- ืืขืืจืช ืืคืจืืืจremoveInvalidChars
ืืืืืืืงื ืืืคืฉืจืืืืช.
ืืืืื ืread
:
const resp = await call.read(messagesWidthInvalidChars, 'tap', { removeInvalidChars: true });
ืืืืื ืid_list_message
:
call.id_list_message(messagesWidthInvalidChars, { removeInvalidChars: true });
{
time: string, // optional, default: "T" (current time)
zone: string, // optional, default: "IL/Jerusalem",
difference: string // optional, default: 0
};
ืกืื ืืืื ืฉืจืืฆืื ืืืฉืืืข.
ืืจืืจืช ืืืื: "T
" = ืืฉืขื ืื ืืืืืช.
ืืฉืืขืช ืฉืขื - THH:MM
,
ืื ืืื ืืืืชื - ื ืืชื ืืจืืืช ืืื ืืช ืจืฉืืืช ืืืื ืื ืฉื ืืชื ืืืฉื ืืื ืืื.
ืืืืจ ืืืื ืฉืขืืืจื ืืฉ ืืืฉื ืืช ืืืื ืื.
ืืจืืจืช ืืืื: IL/Jerusalem
.
ื ืืชื ืืจืืืช ืืื ืืช ืจืฉืืืช ืืืืจื ืืืื ืืงืืืืื ืืืขืจืืช.
ืขืจื ืื ืืฉืืฉ ืืืืกืคื/ืืกืจื ืืืืืืชืืช ืฉื ืืื ืขื ืืืื ืฉืืฉืืืขืื.
ืืื ืื ืืืขืืจ ืคืจืืืจ ืื, ืืืฉืืข ืืืื ืืื ืฉืื ืื.
ืืขืจื difference
ืืืื ืงืืื ืืช ืกืื ืืคืขืืื - ืคืืืก (+) ืืืืกืคืช ืืื, ืื ืืื ืืก (-) ืืืคืืชืช ืืื, ืืื ืืช ืืืื ืขื ืคื ืืฆืืจื ืืืื: Y - ืฉื ื M - ืืืืฉ D - ืืื H - ืฉืขื m - ืืงื S - ืฉื ืื s - ืืืคืืช ืฉื ืื ืืืฉื, ืขืืืจ 20 ืืงืืช ืืืืจื ืืฉ ืืืืืืจ m20-
, ืขืืืจ 3 ืฉืขืืช ืงืืืื ืืฉ ืืจืฉืื H3+
. ืขืืืจ ืืืืืื ืืืืจื ืืฉ ืืจืฉืื D1-
.
ืืืืืื, ืขืืืจ ืืฉืืขืช ืืื ืฉืงืืขืช ืืืื ืืืจ ืืขืืจ ืื ื ืืจืง:
const messages = [{
type: 'zmanim',
data: {
time: 'sunset',
zone: 'IL/Bney_Brak',
difference: '+1D'
}
}];
{
musicName: string,
maxSec: number // optional
};
ืืื ืกืืื ืืืืืงื ืืืื ืื ืืืืจืืืช ืืืฆืืจืช ืืืฉื.
ืฉืืื ืื:
ืืคืฉืจืืช ืื ืืืื ื ืืืจืกื 6.0 ืืืขืื
ืืคืฉืจืืช ืื ืืื ื ืืืคืฆืืื ืืืช ืืืืืืื, ื ืืชื ืืืืฉืื ืืืขืืืจ ืืืืืืงื ืืคืฉืจืืืืช ืืื read
/id_list_message
ืืื ืงืืื
ื ืืชื ืืืืืืจ ืืจืืจืืช ืืืื ืืืจืืื ืืืืืช:
- ืืจืืจืืช ืืืื ืฉื ืืืขืจืืช - ืฉืื ืืื ืืจืืจืืช ืืืืื ืฉื ืืืืช (defaults.js)
- ืจืืช ืจืืืืจ
- ืจืืช ืฉืืื
- ืกืคืฆืืคืืช ืืงืจืืืช
read
/id_list_message
ืืกืืืืืช
ืืืคืฉืจืืืืช ืืืืืื ืขื ืกืืจ ืงืืืืืืืช. ืืกืืจ ืืื: ืืจืืจืืช ืืืืื ืฉื ืืกืคืจืืื ืฉื ืืฆืืช ื- lib/defaults.js, ืืจืืช ืืืคืข ืจืืืืจ, ืืจืืช ืืืคืข ืฉืืื, ืืจืืช ืงืจืืื ืกืคืฆืืคืืช.
ืื ืืคืฉืจืืช ืืงืืืช ืงืืืืืช ืืืืจืกืช ืืช ืื ืฉืืคื ืื.
ืืืืื:
const router = YemotRouter({
printLog: true,
defaults: {
removeInvalidChars: true,
read: {
timeout: 30000
}
}
});
// ืืคืฉืจ ืื ืื:
// router.defaults.read.timeout = 30000;
router.get('/', async (call) => {
// ืtimeout ืืืื 30 ืฉื ืืืช
await call.read([{ type: 'text', data: 'ืืื, ืชืงืืฉ 1' }], 'tap', {
max_digits: 1,
digits_allowed: [1]
});
// ืtimeout ืืืื 40 ืฉื ืืืช
call.defaults.read.timeout = 40000;
await call.read([{ type: 'text', data: 'ืืื, ืชืงืืฉ 1' }], 'tap', {
max_digits: 1,
digits_allowed: [1]
});
// ืtimeout ืืืื 60 ืฉื ืืืช
await call.read([{ type: 'text', data: 'ืืื, ืชืงืืฉ 1' }], 'tap', {
max_digits: 1,
digits_allowed: [1],
timeout: 60000
});
});
ืืืืืื ืืืชืืืื ืืช ืืจืืืืจ ืขื ืืืืจื ืฉื timeout ืฉื 1000 ืฉื ืืืช, ืืืืจ ืืื ืืชืื ืืฉืืื ืืฉื ืื ืืืชื ื2000, ืืืืืจ ืืื ืืืฆืขืื ืงืจืืื ืืืืืช ืขื ืืืืืืงื ืืืคืฆืืืช ืขื timeout ืฉื 3000, ืืืื ืืืืจ ืขื ืืืืืจืืช ืืงืืืืืช ืฉืืื ืืจืื ืืืชืจ ืืืืื.
ืฉืืื ืื! ื ืืชื ืืืืืืจ ืืช ืืืืคืฆืืืช ืืืืืช ืืจืืช ืงืจืืื ืืืืืช ืืืื ืืื ืืจืืช ืฉืืื/ืจืืืืจ:
val_name
(read
)prependToNextAction
(id_list_message
)
ื ืืชื ืืืืืื ืืืืจืืขืื ืืจืืช ืจืืืืจ ืขื ืืื ืืืื ื ืrouter.events
:
new_call
- ืืืฉืจ ืฉืืื ืืืฉื ื ืื ืกืช ืืืขืจืืชcall_continue
- ืืชืงืืื ืชืฉืืื ืืงืจืืืช readcall_hangup
- โซืืืฉืจ ืฉืืื ืื ืืชืงืช ืขื ืืื ืืืืืื (ืืชืงืืื ืืงืฉื ืขืhangup=yes
)
ืฉืืืืฉื ืืืืืื ืืื ืืืคื ืืงืจืืืืช ืขื hangup=yes
ืื ืืืืฅ ืืฉืืืื.
ืืขืจืืช ืืฉืืืืฉ ืืกืคืจืื ืขื ืืืืคืกืงืจืืคื:
ืืฉืืืืฉ ืืจืืืืจ ืขื ืืงืกืคืจืก -
const router = YemotRouter()
app.use(router)
ืชืืฆื ืฉืืืืช ืืืืค. ืืคืืชืจืื ืืจืืข:
const { Router } = require('express')
const router = YemotRouter()
app.use(router.asExpressRouter)
ืืจืืข ืDTS ืื ืืืืืจ ืืืกืืง ืืช ืืืืืค ืืืืืืืืช, ืืืฉ ืืืืืืจ ืืืชื ืืื ืืช ืขื as
, ืืืืื:
const res = await call.read([{ type: 'text', data: 'please type one' }], 'tap', {
allow_empty: true,
empty_val: null,
}) as string | null;
id_list_message
), ืืืืืจ ืืื ืืืจืืฅ ืงืื "ืืื", ืืื ื ืฆืจืืช ืื ื ืืชื ืื ืืืืืื ืืืืชืื ืืืืฉืืจ ืืืฆืืข ืืคืขืืื (ืืืืฆืขืืช read
).
ืืขืช ืืืืจืช ืชืฉืืื ืฉืืื ื read
ืืื ืืืจืืช ืืฉืจืช ืฉื ืืืืช ืืืืืจ ืืจืืืืจ - id_list_message
ืื go_to_folder
,
ื ืืจืงืช ืฉืืืื ืขื ืืื ืืกืคืจืื - ืฉืชืืคืกืช ืืืชื ืืืืจื ืืจืื ืืืชืจ ืืืืื, ืืื ืจืืฆืช ืืคืื ืงืฆืื ื ืืจืืช ืืื ืืืกืื ืืืืืจืื
ืืื ืื ืงืืช ืืช ืืฉืืื ืืactiveCalls
- ืืื ืฉืืื ืืกื ืืืืจืช ืืฉืืืื ืืคืื ืงืฆืื ืชืจืืฅ ืืืืชืืื ืืื ืชืืฉืื.
ืืื ืื ืื ืกืื ืืืืืืจ ืชืฉืืื ืืืฉืชืืฉ ืืืืืจ ืืื ืืืจืืฅ ืืช ืืงืื ื"ืืื" ืืื ืฉืขืืฉืื ืืฉืจืช nodejs + express ืจืืื, ืืืืืื:
function runBigJob(req, res) {
res.status(202).send('ok, we got your request, we will send you an email when the job is done')
doBigJob()
}
ืื ืืืงืจื ืฉื ืืจืืืืจ - ืงืื (ืฉืืื) ืืื:
async function runBigJob(call) {
call.id_list_message([{
type: 'text',
data: 'ืืกืืจ, ืืงืฉืชื ืชืืืคื ืืืงืื'
}])
await doBigJob()
}
ืงืื ืืื ืื ืืขืืื ืืืืื ืฉืืงืจืืื ืcall.id_list_messsage
ืืืจืงืช ืฉืืืื ืฉืืืจืืช ืืช ืจืืฆืช ืืคืื ืงืฆืื, ืืืื ืืงืื ืฉืืืืจืื ืื ืืจืืฅ.
ืืื ืืืจืืฅ ืงืื ืืืืจ ืืืืจืช ืืชืฉืืื, ืืฉ ืืชืคืืก ืืช ืืฉืืืื ืฉื ืืจืงืช (ืืืงืจื ืฉืืื ืฉืืืืช ExitError
ืคื ืืืืช ืื "ื):
import { ExitError } from 'yemot-router2';
async function runBigJob (call) {
try {
call.id_list_message([{
type: 'text',
data: 'ืืกืืจ, ืืงืฉืชื ืชืืืคื ืืืงืื'
}]);
} catch (error) {
if (error.isExitError) return;
throw error;
};
await doBigJob();
}
ืืื ืฆืืจื ืืืจืืง ืืื ืืช ืืช ExitError
ืืื ืืืืืง ืืช ืืฉืืื ืืactiveCalls, ืืืืื ืฉืืื ื ืืืงืช ืืืืืืืืช ืขื ืืื ืืกืคืจืื ืืกืืื ืืจืืฆื ืฉื ืืคืื ืงืฆืื.
ืขื ืืืช, ืืื ืืงืื ืื ืืกืฃ ืืืืจืฅ ืืืืจ ืืงืืช ืืื, ืืืืืฅ ืื ืงืืช ืืื ืืช ืืืืคื ืืืืื (ืืืื ืืืืจ ืืืืจืช ืืชืฉืืื ืid_list_message
) ืืช ืืฉืืื ืืactiveCalls - ืืืจืช ืื ืืืื ื ืืชื ืืืืื ืก ืืฉืืืื ืขื ืืกืืื ืืืฆืืข ืืคืขืืื ืืืืื:
const router = YemotRouter({ printLog: true });
router.get('/', async (call) => {
try {
call.id_list_message([{
type: 'text',
data: 'ืืกืืจ, ืืงืฉืชื ืชืืืคื ืืืงืื'
}]);
} catch (error) {
if (error.isExitError) return;
throw error;
};
router.deleteCall(call.callId);
await doBigJob();
});
ืืืคืฆืื ื ืืกืคืช ืืื ืืืจืืฅ ืืช ืืงืื ืืฆืืจื ืื ืืชืงืช ืืืคืื ืงืฆืื, ืืืืืจ ืงืจืืื ืืงืื ื"ืืื" ืืชืื ืคืื ืงืฆืืื ืื ืื ืืืืช ืืคื ื ืืืืจืช ืืชืฉืืื:
(() => {
await doBigJob();
})();
call.id_list_message(...);