Voximplant ááá¯áá®ááœááºáá°ááá¯ááºážááẠcloud scripts áá»á¬ážá áá¯ááºážáá¶áá«ááºáá»á¬ážá á¡áá¯á¶ážááŒá¯áá°áá»á¬ážá á ááºážáá»ááºážáá»á¬ážááŸáá·áº áá±á«áºááá¯ááŸá¯áááºážá á®áá»á¬ážááᯠá¡áá»ááºážáá»ááºážáá»áááºáááºáá±ážááá·áº "á¡ááá®áá±ážááŸááºážáá»á¬áž" áááá±á¬ááá¬ážááᯠááááŸááá¬ážáááºáá«áááºá ááá¯ážááá¯ážááŸááºážááŸááºážááŒá±á¬ááá»áŸáẠApplication áá»á¬ážááẠáá»áœááºá¯ááºááá¯á·á platform áá±á«áºááœáẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á á¡ááŒá±áá¶á¡á¯ááºááŒá áºááŒá áºááŒá®ážá áááºážááẠá¡ááºááá®áá±ážááŸááºážáá áºáá¯áááºáá®ážááŒááºážááŸá¡á ááŒá¯á áááºááá·áº Voximplant-based ááŒá±ááŸááºážáá»ááºááá¯áááᯠáááºáá±á¬ááºááœáŸááºááŒááŒááºážááŒá áºáááºá
ááááºáá á¡ááá®áá±ážááŸááºážáá»á¬ážááẠscript áá»á¬ážáá¯ááºáá±á¬ááºááá·áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº ááœááºáá»ááºááŸá¯ááááºáá»á¬ážááᯠáááŸááºáááá±á¬ááŒá±á¬áá·áº developer áá»á¬ážááẠthird-party áááºáá±á¬ááºááŸá¯áá»á¬áž ááá¯á·ááá¯áẠáááºážááá¯á·á backend ááœáẠáááºááá¯ážáá»á¬ážááᯠááááºážáááºážááá¯ááºážá
á±áá²á·áááºá ááá±á¬ááºáá¬áá
áºáá¯ááœáẠlocal storage ááŒáá·áºá¡áá¯ááºáá¯ááºáá°ážáá«áá áá»áœááºá¯ááºááá¯á·ááá¯ááºáá±á¬ááºáá»ááºá¡áá
áºááẠáááºážááŸáá·áºá¡ááœááºáááºáá°áá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá á¡ááá®áá±ážááŸááºážáá»á¬ážááẠááá·áºá¡áá±á¬áá·áºááŸá á¡ááºááºáá
áºáá¯á
á®á¡ááœáẠáá°ážááŒá¬ážááá·áº áá±á¬á·áááºááá¯ážá¡ááœá²áá»á¬ážááᯠááŸááºááá
á±ááá¯ááºáááºá áá±á¬áºáá»á°ážá¡áá
áºááŒá±á¬áá·áº ááá¯ááŸá±á¬ááºááŸá¯áá¯ááºáá±á¬ááºááŸá¯ááᯠááŒá
áºááá¯ááºáááºá
ááá¯á¡ááºáá«áááá·áºáááºá
- Voximplant á¡áá±á¬áá·áºá áááºážáááŸááááºá
á€áá±áá¬ááœáẠááŸááºáá¯á¶áááºáá«á ; - Voximplant á¡ááá®áá±ážááŸááºážá¡ááŒáẠscript áá áºáá¯á á ááºážáá»ááºážáá áºáá¯ááŸáá·áº á¡áá¯á¶ážááŒá¯áá°áá áºáá¯áááºážá á€áááºáááºážá á¬ááœáẠá€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá»áœááºá¯ááºááá¯á· áááºáá®ážáá«áááºá
- áá¯ááºážáá±á«áºááá¯ááẠáááºáá±á¬ááºááẠ- áá»áœááºá¯ááºááá¯á·á áááºáá¯ááºážááᯠá¡áá¯á¶ážááŒá¯áá«á
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 module ááŸáá·áº áá»áááºáááºáá¬ážááŒá®áž áá»ááºáá±á¬ logic ááᯠevent handler ááœáẠááá·áºááœááºážáá¬ážáááºá
ááááŠážá áœá¬á áá»áœááºá¯ááºááá¯á·ááẠáá±á«áºááá¯ááŸá¯á¡áá±á¡ááœááºááŸáá·áº áááŠážáááºááá¯ážááᯠááŸáá¯ááºážááŸááºááá¯ááºááẠááááºážááŸááºáá áºáá¯ááᯠááŒá±áá¬áá«áááºá ááá¯á·áá±á¬áẠá ááá¯ážááá¯ááºá០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);
}
ááŸááºáá»ááº
ááááá áºáá¯á á®á¡ááœááºá á¡áááºá á¬áááºážááœáẠááŒáá¬ážááá·áºá¡ááá¯ááºáž áá»ááºááœááºááŸá¯ááᯠááŒááºáá¬ážá áœá¬ áááºááŸááºááá«ááẠ- ááá¯ááºáá«á script ááẠáááºáááºááŸá¯áááºááá·áºááœá¬ážáááºááŒá áºááŒá®áž ááŸááºáááºážáá»á¬ážááœáẠá¡ááŸá¬ážá¡ááœááºážáá áºáá¯ááœá±á·ááá«áááºá á¡áá±ážá áááº
áá®ááŸá¬ .
repository ááŸáá·áºá¡áá¯ááºáá¯ááºááŒá®ážáá±á¬ááºá script ááẠá¡áá¶áá±á«ááºážá ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯á á¡áááºáá±á«áºááá¯ááŸá¯ááá¯ááŒá±ááŒá¬ážááŒá®áž ááááºá áááºáá±á«áºááá¯áá²á·ááá·áºá¡ááŒáááºá¡áá±á¡ááœááºááá¯ááŒá±á¬ááŒáááºá á€áááºáá±á·áá»áºááŒá®ážáá±á¬ááºá áá¬ááºááœáŸááºážááẠá ááºááŸááºááᯠáááºá á²áááºá
áá¬ááºááœáŸááºážááᯠááááºážáááºážááŒá®ážáááºááŸáá·áºá ááá·áºá¡ááá®áá±ážááŸááºážá Routing áááºááºááá¯á· ááœá¬ážáᬠNew Rule ááᯠááŸáááºáá«á áááºážááᯠstartCounting áᯠá¡áááºáá±ážáá¬á countingCalls script ááᯠáááºááŸááºáá«á default mask (.*) ááᯠáá¬ážáá²á·áá«á
áá±á¬ááºáá¯á¶ážáá
áºáá¯ááá±á¬á· áá¯á¶ážá
áœá²áá°ááᯠáááºáá®ážááá¯á·áá«áá²á áááºážááá¯áá¯ááºáá±á¬ááºááẠ"á¡áá¯á¶ážááŒá¯áá°áá»á¬áž" ááá¯á·ááœá¬áž "á¡áá¯á¶ážááŒá¯áá°áááºáá®ážáááº" ááá¯ááŸáááºáá« á¡áááºáá
áºáᯠ(á¥ááá¬á user1) ááŸáá·áº á
áá¬ážááŸááºááá¯ááá·áºáá«á ááá¯á·áá±á¬áẠ"áááºáá®ážáá«" ááá¯ááŸáááºáá«á áááºáá¯ááºážááœáẠá
á
áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒáááºá¡ááœáẠá€á¡áá±á¬áá·áºáááº-á
áá¬ážááŸááºá¡ááœá²ááᯠááá¯á¡ááºáá«áááºá
áááºážá á áºáá±áž
ááá·áºááºá០áááºáá¯ááºážááᯠááœáá·áºáá«á
Voximplant ááœáẠááá·áºá¡á¬áž áá±á¬ááºážááœááºáá±á¬ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŒá
áºá
á±ááŒá®áž á
á±á¬áá·áºáá»áŸá±á¬áºááŒáá·áºááŸá¯áá« - áá»áœááºá¯ááºááá¯á·ááœáẠáá±á¬ááºáááºáá»á¬ážá
áœá¬ááŸááá«áááá·áºááẠð
source: www.habr.com