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);
}
์ฐธ๊ณ ์ฌํญ
๊ฐ ์ฝ์์ ๋ํด ์ ๋ชฉ๋ก์ ํ์๋ ๋๋ก ์ฅ์ ์กฐ์น๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์คํฌ๋ฆฝํธ ์คํ์ด ์ค์ง๋๊ณ ๋ก๊ทธ์ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค. ์ธ๋ถ
์ฌ๊ธฐ์ .
์ ์ฅ์ ์์ ํ ์คํฌ๋ฆฝํธ๋ ์์ฑ ํฉ์ฑ์ ์ฌ์ฉํ์ฌ ์์ ์ ํ์ ์๋ตํ๊ณ ์ด์ ์ ๋ช ๋ฒ ์ ํํ๋์ง ์๋ ค์ค๋๋ค. ์ด ๋ฉ์์ง ํ์ ์คํฌ๋ฆฝํธ๋ ์ธ์ ์ ์ข ๋ฃํฉ๋๋ค.
์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฅํ์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ผ์ฐํ ํญ์ผ๋ก ์ด๋ํ์ฌ ์ ๊ท์น์ ํด๋ฆญํฉ๋๋ค. ์ด๋ฆ์ startCounting์ผ๋ก ์ง์ ํ๊ณ countingCalls ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ ํ๊ณ ๊ธฐ๋ณธ ๋ง์คํฌ(.*)๋ฅผ ๊ทธ๋๋ก ๋ก๋๋ค.
๋ง์ง๋ง์ ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ ๊ฒ์
๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด "์ฌ์ฉ์"๋ก ์ด๋ํ์ฌ "์ฌ์ฉ์ ๋ง๋ค๊ธฐ"๋ฅผ ํด๋ฆญํ๊ณ ์ด๋ฆ(์: user1)๊ณผ ์ํธ๋ฅผ ์
๋ ฅํ ๋ค์ "๋ง๋ค๊ธฐ"๋ฅผ ํด๋ฆญํฉ๋๋ค. ์นํฐ์์ ์ธ์ฆ์ ์ํด ์ด ๋ก๊ทธ์ธ-๋น๋ฐ๋ฒํธ ์์ด ํ์ํฉ๋๋ค.
ํ์ธ ์ค
๋งํฌ์์ ์นํฐ ์ด๊ธฐ
Voximplant์ ๋ฉ์ง ๋ฐ์ ์ ๊ธฐ์ํ๋ฉฐ ๊ณ์ ์ง์ผ๋ด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ๋ ๋ง์ ์์์ด ์์ ์์ ์
๋๋ค ๐
์ถ์ฒ : habr.com