рдХреБрдВрдЬреА-рдореВрд▓реНрдп рднрдВрдбрд╛рд░рдг, рдпрд╛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЧрдП рд╣реИрдВ

рдХреБрдВрдЬреА-рдореВрд▓реНрдп рднрдВрдбрд╛рд░рдг, рдпрд╛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЧрдП рд╣реИрдВ

рд╡реЛрдХреНрд╕рд┐рдордкреНрд▓рд╛рдВрдЯ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ "рдРрдкреНрд╕" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЙрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдлреЛрди рдирдВрдмрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рдирд┐рдпрдореЛрдВ рдФрд░ рдХреЙрд▓ рдХрддрд╛рд░реЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣рдорд╛рд░реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХреА рдЖрдзрд╛рд░рд╢рд┐рд▓рд╛ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рд╡реЛрдХреНрд╕рд┐рдордкреНрд▓рд╛рдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗ рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

рдкрд╣рд▓реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдпрд╛ рдЧрдгрдирд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ "рдпрд╛рдж" рдирд╣реАрдВ рд░рдЦрддреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛рдУрдВ рдпрд╛ рдЙрдирдХреЗ рдмреИрдХрдПрдВрдб рдкрд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реА рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛рдлреА рд╣рдж рддрдХ рдЗрд╕рдХреЗ рд╕рдорд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐... рдРрдкреНрд╕ рдХреЛ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЦрд╛рддреЗ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдРрдк рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВред рдирдП рдореЙрдбреНрдпреВрд▓ рдХреА рдмрджреМрд▓рдд рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрд╛ рдПрдкреНрд▓реАрдХреЗрд╢рдирд╕реНрдЯреЛрд░реЗрдЬ - рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдорд┐рд▓реЗрдЧреА, рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдпреЗ рд╣реЛрдЧрд╛

  • рд╡реЛрдХреНрд╕рд┐рдордкреНрд▓рд╛рдВрдЯ рдЦрд╛рддрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрдВрдЬреАрдХрд░рдг рдпрд╣реАрдВ рд░рд╣рддрд╛ рд╣реИ;
  • рд╡реЛрдХреНрд╕рд┐рдордкреНрд▓рд╛рдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд╕рд╛рде рд╣реА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдПрдХ рдирд┐рдпрдо рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред рд╣рдо рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдпрд╣ рд╕рдм рдмрдирд╛рдПрдВрдЧреЗ;
  • рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдХреНрд▓рд╛рдЗрдВрдЯ - рд╣рдорд╛рд░реЗ рд╡реЗрдмрдлрд╝реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдлрд╝реЛрди.voximрдкреНрд▓рд╛рдВрдЯ.рдХреЙрдо.

рд╡реЛрдХреНрд╕рд┐рдордкреНрд▓рд╛рдВрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ: рдореИрдиреЗрдЬ.рд╡реЛрдХреНрд╕рд┐рдордкреНрд▓рд╛рдВрдЯ.com/auth. рдмрд╛рдИрдВ рдУрд░ рдореЗрдиреВ рдореЗрдВ, "рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдлрд┐рд░ "рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдирд╛рдордХ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВред рдирдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдЬрд╛рдПрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдЙрдВрдЯрд┐рдВрдЧрдХреЙрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдм рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ:

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);

});

рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рдирд╕реНрдЯреЛрд░реЗрдЬ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ, рдмрд╛рдХреА рддрд░реНрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреЙрд▓рдЕрд▓рд░реНрдЯрд┐рдВрдЧ.

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдХреА рддреБрд▓рдирд╛ рдХреЙрд▓ рдХрд╛рдЙрдВрдЯрд░ рд╕реЗ рдХрд░ рд╕рдХреЗрдВред рдлрд┐рд░ рд╣рдо рд╕реНрдЯреЛрд░ рд╕реЗ 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);
    }

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ

рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рджреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рдлрд▓рддрд╛ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджреА рдЧрдИ рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЕрдиреНрдпрдерд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреА, рдФрд░ рдЖрдкрдХреЛ рд▓реЙрдЧ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ.

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реЙрдпрд╕ рд╕рд┐рдВрдереЗрд╕рд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдирдХрдорд┐рдВрдЧ рдХреЙрд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдХрд┐рддрдиреА рдмрд╛рд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд╛рдж, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддреА рд╣реИред

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╣реЗрдЬ рд▓реЗрдВ, рддреЛ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдЯрд┐рдВрдЧ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдирдП рдирд┐рдпрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЗрд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рдХрд╣реЗрдВ, рдХрд╛рдЙрдВрдЯрд┐рдВрдЧрдХреЙрд▓реНрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рд╕реНрдХ (.*) рдЫреЛрдбрд╝ рджреЗрдВред

рдХреБрдВрдЬреА-рдореВрд▓реНрдп рднрдВрдбрд╛рд░рдг, рдпрд╛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЧрдП рд╣реИрдВ
рдЖрдЦрд┐рд░реА рдХрд╛рдо рд╣реИ рдпреВрдЬрд░ рдмрдирд╛рдирд╛. рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдкрд░ рдЬрд╛рдПрдВ, "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдПрдХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛1) рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб, рдлрд┐рд░ "рдмрдирд╛рдПрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╡реЗрдмрдлреЛрди рдореЗрдВ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕ рд▓реЙрдЧрд┐рди-рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбрд╝реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЪреЗрдХ

рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдмрдлрд╝реЛрди рдЦреЛрд▓реЗрдВ рдлрд╝реЛрди.voximрдкреНрд▓рд╛рдВрдЯ.рдХреЙрдо рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЕрдкрдиреЗ рдЦрд╛рддрд╛ рдирд╛рдо, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╛рдо рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо-рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред рд╕рдлрд▓ рд▓реЙрдЧрд┐рди рдХреЗ рдмрд╛рдж, рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдХреЛрдИ рднреА рд╕реЗрдЯ рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдХреЙрд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдЖрдк рдПрдХ рд╕рдВрд╢реНрд▓реЗрд╖рд┐рдд рдЕрднрд┐рд╡рд╛рджрди рд╕реБрдиреЗрдВрдЧреЗ!

рд╣рдо рдЖрдкрдХреЗ рд╡реЛрдХреНрд╕рд┐рдордкреНрд▓рд╛рдВрдЯ рдкрд░ рд╢рд╛рдирджрд╛рд░ рд╡рд┐рдХрд╛рд╕ рдХреА рдХрд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рдорд╛рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмрдиреЗ рд░рд╣реЗрдВ - рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рд╣реЛрдЧрд╛ ЁЯШЙ

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ