แแแแช แแแแแแ แแแก Voximplant-แแ, แแชแแก โแแแแแแแชแแแแแกโ แแแแชแแคแชแแ, แ แแแแแแแช แแ แแแแแแแแแ แแแแแจแแ แแแก แฆแ แฃแแแแก แกแแ แแแขแแแก, แขแแแแคแแแแก แแแแ แแแก, แแแแฎแแแ แแแแแแก, แฌแแกแแแก แแ แแแ แแแแก แ แแแแแก. แแแ แขแแแแ แ แแ แแแฅแแแ, แแแแแแแชแแแแ แแ แแก แฉแแแแ แแแแขแคแแ แแแก แแแแแแแแ แแแแก แฅแแแแฃแแฎแแแ, แแแแแกแแแแ แ Voximplant-แแ แแแคแฃแซแแแแฃแแ แแแแแฌแงแแแขแแก แจแแกแแกแแแแแ แฌแแ แขแแแ, แ แแแแแ แแก แงแแแแแคแแ แ แแฌแงแแแ แแแแแแแชแแแก แจแแฅแแแแ.
แแแ แ, แแแแแแแชแแแแก "แแฎแกแแแแแ" แแ แช แกแแ แแแขแแแแก แแแแ แจแแกแ แฃแแแแฃแแ แแแฅแแแแแแแแ แแ แแ แช แแแแแแแแแแแก แจแแแแแแแ, แแแแขแแ แแแแแแแแแ แแแ แแซแฃแแแแฃแแแ แแงแแแแ แจแแแแแฎแแ แแแแจแแแแแแแแแ แแแกแแแ แแฎแแ แแก แกแแ แแแกแแแจแ แแ แแแ แกแแ แแแแ แแ แกแแกแขแแแแจแ. แแฃ แแฅแแแ แแแแกแแ แแแแฃแจแแแแแ แแ แแฃแแแ แจแ แแแแแแฃแ แกแแชแแแแแ, แแแจแแ แฉแแแแ แแฎแแแ แคแฃแแฅแชแแแแแ แแแ แซแแแแแ แฐแแแแก แแแแก, แ แแแแแ. แแแแแก แฃแคแแแแแก แแซแแแแก แแแแแแฎแกแแแ แแ แแแกแแฆแแแ-แแแแจแแแแแแแแก แฌแงแแแแแแ, แ แแแแแแแช แฃแแแแแแฃแ แแ แแฅแแแแ แแแแแ แแจแแก แแแแแแฃแแ แแแแกแแแแก. แจแแแแฎแแ แจแแกแแซแแแแแแ แแแฎแแ แแฎแแแ แแแแฃแแแก แฌแงแแแแแแ
แแฅแแแ แแแแญแแ แแแแแ
- Voximplant แแแแแ แแจแ. แแฃ แแ แแแฅแแ, แแแจแแ
แ แแแแกแขแ แแชแแ แแฅ แชแฎแแแ แแแก ; - Voximplant แแแแแแแชแแ, แแกแแแ แกแแ แแแขแ, แฌแแกแ แแ แแ แแ แแแแฎแแแ แแแแแ. แแ แงแแแแแคแแ แก แจแแแฅแแแแ แแ แขแฃแขแแ แแแแจแ;
- แแแ แแแแแแขแ แแแ แแก แแแแกแแฎแแ แชแแแแแแแแ - แแแแแแงแแแแ แฉแแแแ แแแ แขแแแแคแแแ
phone.voximplant.com .
Voximplant แแแ แแแแขแ แแแ
แแแ แแแแ แจแแแแ แแฅแแแแก แแแแแ แแจแแ:
require(Modules.ApplicationStorage);
VoxEngine.addEventListener(AppEvents.CallAlerting, async (e) => {
let r = {value: -1};
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
} catch(e) {
Logger.write('Failure while getting totalCalls value');
}
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
} catch(e) {
Logger.write('Failure while updating totalCalls value');
}
e.call.answer();
e.call.say(`ะัะธะฒะตัััะฒัั. ะะพะปะธัะตััะฒะพ ะฟัะพัะปัั
ะทะฒะพะฝะบะพะฒ: ${r.value}. `, Language.RU_RUSSIAN_MALE);
e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);
});
แแแ แแแแ แฎแแแ แแแแแจแแ แแแก ApplicationStorage แแแแฃแแก, แแแแแ แฉแแแ แแแแแแ แแแแแแกแแแฃแแแ แแแแแแแแก แแแแแฃแจแแแแแแแจแ
แแแ แแแ แ แแแจแ, แฉแแแ แแแชแฎแแแแแ แชแแแแแก, แ แแแ แจแแแแแแ แแ แกแแฌแงแแกแ แแแแจแแแแแแแ แแแ แแแแก แ แแแแแแแแแก. แจแแแแแ แฉแแแ แแชแแแแแแ แแแแแฆแแ totalCalls แแแกแแฆแแแแก แแแแจแแแแแแแ แแแฆแแแแแแแ. แแฃ แฏแแ แแ แแ แแก แแกแแแ แแแกแแฆแแแ, แแแจแแ แฉแแแ แแฅแแแแ แแแก:
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
}
แจแแแแแแ, แแฅแแแ แฃแแแ แแแแแ แแแ แแแกแแฆแแแแก แแแแจแแแแแแแ แกแแชแแแจแ:
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
}
แแแฎแแแ แแแแแแแแแกแฌแแแแ
แงแแแแแ แแแแแ แแแแกแแแแก, แแฅแแแ แแแแคแแแ แฃแแแ แแแฃแแแแแ failover, แ แแแแ แช แแก แแแฉแแแแแแแ แแแแแ แแแชแแแฃแ แฉแแแแแแแแแแจแ - แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ แกแแ แแแขแ แจแแฌแงแแแขแก แแฃแจแแแแแก แแ แแแแแแฎแแแ แจแแชแแแแแก แแฃแ แแแแแแจแ. แแแขแแแแแ
แแฅ .
แกแแชแแแแแ แแฃแจแแแแแก แจแแแแแ, แกแแ แแแขแ แแแกแฃแฎแแแก แจแแแแกแฃแ แแแ แก แฎแแแก แกแแแแแแแก แแแแแงแแแแแแ แแ แแแฃแแแแแแ แ แแแแแแฏแแ แแแ แแแแ แแแ แ. แแ แจแแขแงแแแแแแแแก แจแแแแแ แกแแ แแแขแ แฌแงแแแขแก แกแแกแแแก.
แแแก แจแแแแแ แ แแช แจแแแแแฎแแแ แกแแ แแแขแก, แแแแแแแ แแฅแแแแ แแแแแแแชแแแก แแแ แจแ แฃแขแแแแชแแแก แฉแแแแ แแแ แแ แแแแฌแแแแฃแแแ แแฎแแ แฌแแกแแ. แแแแ แฅแแแ แกแแฎแแแ startCounting, แแแฃแแแแแ countingCalls แกแแ แแแขแ แแ แแแขแแแแ แแแแฃแแแกแฎแแแแ แแแฆแแแ (.*).
แแแแ แแ แแก แแแแฎแแแ แแแแแก แจแแฅแแแ. แแแแกแแแแแก แแแแแแแ "แแแแฎแแแ แแแแแแแ", แแแแญแแ แแ "แแแแฎแแแ แแแแแก แจแแฅแแแ", แจแแแงแแแแแ แกแแฎแแแ (แแแแแแแแแ, user1) แแ แแแ แแแ, แจแแแแแ แแแแญแแ แแ "แจแแฅแแแ". แฉแแแ แแแแแญแแ แแแแ แแก แจแแกแแแ-แแแ แแแ แฌแงแแแแ แแแแแแขแแคแแแแชแแแกแแแแก แแแ แขแแแแคแแแจแ.
แจแแแแฌแแแแ
แแแฎแกแแแแ แแแ แขแแแแคแแแ แแแฃแแแแแ
แแแกแฃแ แแแแ แแแ แแแแแแแแ แแแแก Voximplant-แจแ แแ แแงแแแแ แแแแแงแฃแ แ - แแแแแ แแแแ แ แแแแฅแแแแ ๐
แฌแงแแ แ: www.habr.com