Botframework-solutions: [Virtual Assistant Template] ๋ฉ”์‹œ์ง€ ์ด๋ฒคํŠธ์— ๋Œ€ํ•ด mainDialog๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2020๋…„ 01์›” 08์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: microsoft/botframework-solutions

์–ด๋–ค ํ”„๋กœ์ ํŠธ๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›๋‚˜์š”?

๋ด‡๋นŒ๋” ์†”๋ฃจ์…˜

์ด๊ฒƒ์€ ์–ด๋–ค ์–ธ์–ด๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ?

ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ

๋ฌด์Šจ ์ผ์ด์•ผ?

๋ด‡์ด routerDialog.js์˜ ์•ฝ์†์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
const status = await this.onInterruptDialog(innerDc);
์ด๋ฒคํŠธ๊ฐ€ ๋ฉ”์‹œ์ง€์ผ ๋•Œ

์ด ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ฐฉ๊ธˆ ์˜จ๋ณด๋”ฉ ๋Œ€ํ™” ์ƒ์ž๋ฅผ OAuth ๋Œ€ํ™” ์ƒ์ž๋กœ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค.

๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚  ๊ฒƒ์ด๋ผ๊ณ  ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๊นŒ?

๊ฒฝ๋กœ์— ์ง์ ‘

๋กœ๊ทธ, ์˜ค๋ฅ˜ ์ถœ๋ ฅ ๋“ฑ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์Šคํฌ๋ฆฐ์ƒท์ด๋‚˜ ์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

Screenshot 2020-01-08 at 16 03 00

Needs Triage Bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‹ค์Œ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•œ ํ›„:
this.use(new TranscriptLoggerMiddleware(transcriptStore));
this.use(new ShowTypingMiddleware());
botframework ์—๋ฎฌ๋ ˆ์ดํ„ฐ์— ๋งˆ์ง€๋ง‰์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Screenshot 2020-01-09 at 09 35 53

๋‚˜๋Š” ์—ฌ์ „ํžˆ ์†Œ์Šค๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์—๊ฒŒ ์ด์ƒํ•˜๊ฒŒ ๋ณด์ด๋Š” ๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ LUIS ์˜๋„์— ์žˆ๊ณ  ์ฝ”๋“œ๊ฐ€ mainDialog์˜ route ๋ฉ”์„œ๋“œ์— ๋„๋‹ฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ๋‹น์‹ ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํ”ผ๋“œ๋ฐฑ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”,
๋„ค์Šคํ† ๋ฅด

๋ชจ๋“  4 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” @nestoralonsovina , ์ด ๋ฌธ์ œ๋ฅผ ์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

  1. ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์žฌํ˜„ ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
  2. master ๋ถ„๊ธฐ์˜ ์ƒ˜ํ”Œ ๋„์šฐ๋ฏธ ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?
  3. botbuilder-solutions์˜ ์–ด๋–ค ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? npmjs ์˜ ์ตœ์‹  ๋ฒ„์ „์ธ [email protected] ์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ˜„์žฌ 0.7Beta ๋ฆด๋ฆฌ์Šค ์˜ ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ TypeScript ์†”๋ฃจ์…˜( botbuilder-solutions ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํฌํ•จ)์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค,
๋””์—๊ณ 

์•ˆ๋…•ํ•˜์„ธ์š” @nestoralonsovina , ์ด ๋ฌธ์ œ๋ฅผ ์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

  1. ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์žฌํ˜„ ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
  2. master ๋ถ„๊ธฐ์˜ ์ƒ˜ํ”Œ ๋„์šฐ๋ฏธ ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?
  3. botbuilder-solutions์˜ ์–ด๋–ค ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? npmjs ์˜ ์ตœ์‹  ๋ฒ„์ „์ธ [email protected] ์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ˜„์žฌ 0.7Beta ๋ฆด๋ฆฌ์Šค ์˜ ์ตœ์‹  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ TypeScript ์†”๋ฃจ์…˜( botbuilder-solutions ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํฌํ•จ)์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค,
๋””์—๊ณ 

์šฐ๋ฆฌ๋Š” ๊ฐ€์ƒ ๋น„์„œ ํ…œํ”Œ๋ฆฟ์˜ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜(2-3์ฃผ ์ „์— yeoman์œผ๋กœ ์ƒ์„ฑ๋œ ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค)์™€ botbuilder-solutions ๋ฒ„์ „ 4.4.9๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„๊ทธ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„๋Š” ์ œ๊ณตํ•˜๊ธฐ ์–ด๋ ต๊ณ  ๋‚ด๊ฐ€ ์ด ๋ฌธ์ œ๋ฅผ ์—ด๊ธฐ๋ฅผ ์•ฝ๊ฐ„ ๊บผ๋ฆฌ๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ดํ‹€ ์ „์— ๊ฐ‘์ž๊ธฐ ๋‚˜ํƒ€๋‚˜์„œ ์Šคํฌ๋ž˜์น˜์šฉ ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๊ณ  ๊ตฌ์„ฑ ํŒŒ์ผ(appsettings.json ๋ฐcognitivemodels.json)์„ ๊ฐ„๋‹จํžˆ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ์œผ๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ๊ฐ™์€ ์œ„์น˜์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

Windows์™€ macOS ๋ชจ๋‘์—์„œ ๋ด‡ํ”„๋ ˆ์ž„์›Œํฌ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(ngrok ํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ๋กœ ๋ด‡์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ด‡ ๋ฐฐํฌ๋„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์›น ์ฑ„ํŒ… ๋ฐ ํŒ€์—์„œ ์ง€์†๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์ œ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ •๋ณด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ๊ณ ์น  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ง์”€ํ•˜์‹ค ๊ฒƒ์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”,
๋„ค์Šคํ† ๋ฅด

๋‹ค์Œ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•œ ํ›„:
this.use(new TranscriptLoggerMiddleware(transcriptStore));
this.use(new ShowTypingMiddleware());
botframework ์—๋ฎฌ๋ ˆ์ดํ„ฐ์— ๋งˆ์ง€๋ง‰์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Screenshot 2020-01-09 at 09 35 53

๋‚˜๋Š” ์—ฌ์ „ํžˆ ์†Œ์Šค๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์—๊ฒŒ ์ด์ƒํ•˜๊ฒŒ ๋ณด์ด๋Š” ๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ LUIS ์˜๋„์— ์žˆ๊ณ  ์ฝ”๋“œ๊ฐ€ mainDialog์˜ route ๋ฉ”์„œ๋“œ์— ๋„๋‹ฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ๋‹น์‹ ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํ”ผ๋“œ๋ฐฑ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”,
๋„ค์Šคํ† ๋ฅด

์šฐ๋ฆฌ๋Š” ๋งˆ์นจ๋‚ด LUIS์—์„œ ๋‘ ๊ฐ€์ง€ ์˜๋„ ์‚ฌ์ด์˜ ๋น„ํ˜ธํ™˜์„ฑ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ…œํ”Œ๋ฆฟ๊ณผ ๊ด€๋ จ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ๋‹ซ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰