Botframework-solutions: [рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ] VA/рд╕реНрдХрд┐рд▓ рдЬреЗрдирд░реЗрдЯрд░ рдореЗрдВ GA SDK рд╕реНрдХрд┐рд▓ рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЕрдХреНрддреВре░ 2019  ┬╖  64рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/botframework-solutions

WebSockets рдореЗрдВ рдПрдХ рд╕реНрдХрд┐рд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рд╣рдо рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдПрдХ рдирдИ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ C# рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдереАред рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдХрд┐рд▓ рдЗрдирд╡реЛрдХреЗрд╢рди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЕрдирдмреНрд▓реЙрдХ рдХрд░реЗрдЧрд╛ред

рдкреНрд░рдпреЛрдХреНрддрд╛ рдХрд╣рд╛рдиреА

рдХреЗ рд░реВрдк рдореЗрдВ ... рдПрдХ рдбреЗрд╡рд▓рдкрд░
рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ ...рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреМрд╢рд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП
рддрд╛рдХрд┐ ... рд╕реА # рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рд╕рдорд╛рдирддрд╛ рд╣реЛ

рд╕реНрд╡реАрдХреГрддрд┐ рдорд╛рдирджрдВрдб

  • [ ] рдирдП GA SDK рдХреМрд╢рд▓ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП VA рдФрд░ рдХреМрд╢рд▓ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
  • [ ] рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ VA рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ C# рдХреМрд╢рд▓ рдЬреЛрдбрд╝реЗрдВ (рдЬреИрд╕реЗ рдХреИрд▓реЗрдВрдбрд░)
  • [ ] рдореМрдЬреВрджрд╛ рд╡реАрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреМрд╢рд▓ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
P0 Committed In Progress

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ рдмрдЯреНрдЯрд╛32 рдЕрдЧрд░ рд╕реНрдХрд┐рд▓ рдХрдиреНрд╡рд░реНрд╕реЗрд╢рди рдЖрдИрдбреА рдлреИрдХреНрдЯреНрд░реА рдПрдирдХреЛрдбреБрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рддреЛ рдХреМрд╢рд▓ рдЙрд╕ рдмрд╛рддрдЪреАрдд рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред рдЖрдИрдбреА рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдЧрд╛ред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рд╛рдБ, рд░реЗрд╕реНрдЯрд┐рдлрд╛рдЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд▓рдВрдмреА рдмрд╛рддрдЪреАрдд рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдирдореВрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ: https://github.com/microsoft/BotBuilder-Samples/blob/master/samples/javascript_nodejs/80.skills-simple-bot-to-bot/simple-root -bot/skillConversationIdFactory.js#L21

// рдЗрд╕ рдХреБрдВрдЬреА рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 100 рд╡рд░реНрдгреЛрдВ рдХреА рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИред index.js рдореЗрдВ restify.createServer({ maxParamLength: 1000 }); рд╕рд╛рде рд╡реГрджреНрдзрд┐ рдХрд░реЗрдВред

рд╕рднреА 64 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рд╛рдп рджрд░реЗрдВрдЬ,
рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдИрдЯреАрдП рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ?
рдзрдиреНрдпрд╡рд╛рдж,
рдХреБрдорд╛рд░

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рд╕реЗ рдЕрдВрдд рддрдХ рдХрд╛рдо рдХрд░рдирд╛ рдареАрдХ рд░рд╣реЗрдЧрд╛ред

рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП @darrenj рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ @darrenj

рд╣рд╛рдп рдбреИрд░реЗрди,

@darrenj рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдХрд╛рд░реНрдп рдЖрдЗрдЯрдо рдкрд░ рдПрдХ рдЕрдкрдбреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ред

рдзрдиреНрдпрд╡рд╛рдж,
рдХреБрдорд╛рд░

рд╣рд╛рдп @darrenj ,

рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдВрд╕реНрдХрд░рдг 4.6.0 рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (https://botbuilder.myget.org/feed/botbuilder-v4-js-daily/package/npm/botframework-streaming), рдХреНрдпрд╛ рдпрд╣ рдмреЙрдЯрдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ 4.5.0 рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ?

рдпрд╣рд╛рдВ рдЙрдбрд╝рд╛рди рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдПрдХ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ рдХреМрд╢рд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдирдП рдЬреАрдП рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╣реИред рдореИрдВ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рд╕реНрдХрд┐рд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкрд╣рд▓реЗ рдкреИрдХреЗрдЬреНрдб рдмрд┐рд▓реНрдб рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣рдо (рд╕рд░рд▓) рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП C# рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджреЛрдиреЛрдВ рдХреЗ рдЕрдкрдбреЗрдЯ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдЗрд╕ рдХрд╛рдо рдХреЛ рдЬрдирд╡рд░реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрд░рдЧрддрд┐ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рд░рдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рджреИрдирд┐рдХ рдмрд┐рд▓реНрдб рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред

рдЗрд╕ рдмреАрдЪ рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реАрдП рдмреЙрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдХреМрд╢рд▓ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдпрд╣ HTTP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рддрдм рдЖрддреА рд╣реИ рдЬрдм рдЖрдк C# рд╕реНрдХрд┐рд▓ рдЬреИрд╕реЗ рдХреИрд▓реЗрдВрдбрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рд╡рд░реНрддрди рд╕рднреА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрдВрдЧреЗред

@darrenj рдпрд╣ рддрдп рд╣реИ рдФрд░ рдХреНрдпрд╛ рдореИрдВ рд╕реА # рд╕реНрдХрд┐рд▓ рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реАрдП рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВ рдЖрдкрдХреА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд▓реЗрдХрд░ рдЕрд╕рдордВрдЬрд╕ рдореЗрдВ рд╣реВрдВред

рдирдорд╕реНрддреЗ @darrenj ,

рдПрдХ рдмрд╛рд░ рдпрд╣ рд╣рд▓ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрдпрд╛ VA рдкрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ ToDo рдЬреИрд╕реЗ cSharp рдХреМрд╢рд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореБрдЭреЗ C# рдХреМрд╢рд▓ рдкрд░ рдкреНрд░рдпреБрдХреНрдд WebSocketTransport рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рд╡реАрдП рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рд╣реИред

рд╣рд╛рдВ, рд╕реНрдХрд┐рд▓реНрд╕ рдХреЗ рдЬреАрдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╡реЗрдмрд╕реЛрдХреЗрдЯреНрд╕ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХреМрд╢рд▓ рдХреЗ рд╕рд╣рдЬ рдорд┐рд╢реНрд░рдг/рдорд┐рд▓рд╛рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реА # рдФрд░ рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо рдмрд┐рдЯреНрд╕ рд╣реИрдВ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрдХреАрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓рдХреНрд╖реНрдп рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЕрдирдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреИрдирд┐рдХ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рд╣реИред

рд╣рд╛рдп @darrenj ,

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реАрдП рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХрд┐рд▓ рд╣реИред

рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрджреНрдпрддрди рд╕рдХреНрд░рд┐рдпрддрд╛ рд╡реАрдП рдореЗрдВ рдХреМрд╢рд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛)ред рдЕрдм рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдирд╡реАрдирддрдо рдХреМрд╢рд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп (4.4.9) рд╕реЗ рд╡реЗрдмрд╕реЙрдХреЗрдЯ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХреНрдпреЛрдВ :) рдХрд╣реАрдВ рдФрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдпрд╛?

рдареАрдХ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдмреЙрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрд╕рдбреАрдХреЗ рдХреЗ рднреАрддрд░ рдХреМрд╢рд▓ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдЬреАрдП рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдкрд░ рдПрдХ рдЕрдкрдбреЗрдЯ рд╣реИред рдЗрд╕рдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЗрдирдХреНрдпреВрдмреЗрдЯ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ GA рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред

рдПрдХ рдирдореВрдирд╛ рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдмреЙрдЯ рджреВрд╕рд░реЗ рдмреЙрдЯ (рдХреМрд╢рд▓) рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдХреАрдХреГрдд рдПрдбреЗрдкреНрдЯрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднрд┐рдиреНрди рдПрдбреЗрдкреНрдЯрд░ рдпрд╛ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕реА # рдФрд░ рдЬреЗрдПрд╕ ред

рд╣рдо рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ (рдЫреЛрдЯреЗ) рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдореМрдЬреВрджрд╛ рдХреМрд╢рд▓ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреБрдЫ рдЪрд░рдгреЛрдВ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ / рд╕реНрдХрд┐рд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдЕрдкрдбреЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрдирд╡рд░реА рдХреЗ рдЕрдВрдд рдХрд╛ рд▓рдХреНрд╖реНрдп, рдЬрд▓реНрдж рд╣реА рд╣рдорд╛рд░реЗ рджреИрдирд┐рдХ рдмрд┐рд▓реНрдб рдкрд░ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рдеред

рдпрджрд┐ рдЖрдк рдЗрд╕рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ рддреЛ рдЙрдкрд░реЛрдХреНрдд рдирдореВрдиреЗ рдЖрдкрдХреЛ рд╡рд╣ рд╕рдм рдХреБрдЫ рджреЗрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред рдЬреИрд╕реЗ рд╣реА рд╡реЗ рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рджреИрдирд┐рдХ рдмрд┐рд▓реНрдб/рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рджреВрдВрдЧрд╛ред

@darrenj рдЗрд╕ рднрдпрд╛рдирдХ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдбрдХреНрд╢рди рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдореИрдВ рдПрдХреАрдХреГрдд рдПрдбреЗрдкреНрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВред

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реАрдП рдореЗрдВ рдПрдХреАрдХреГрдд рдПрдбрд╛рдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрднреА рднреА рд╕реА # рдХреМрд╢рд▓ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рдЕрджреНрдпрддрди!

рд╣рдордиреЗ рдХрд▓ рдЕрдкрдиреА 0.8 рд░рд┐рд▓реАрдЬрд╝ рдкреЛрд╕реНрдЯ рдХреА рдереА рдЬрд┐рд╕рдореЗрдВ рдирдИ GA рдХреМрд╢рд▓ рдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╕рднреА рдирдореВрдирд╛ рдХреМрд╢рд▓ рдХрд╛ рдЕрдкрдбреЗрдЯ рд╢рд╛рдорд┐рд▓

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореМрдЬреВрджрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдФрд░ рд╕реНрдХрд┐рд▓реНрд╕ рдореЗрдВ рдХреБрдЫ рд╕реАрдзреЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рд╣реИрдВред рд╕реА # рд╡реАрдП рдЕрдкрдбреЗрдЯ рдпрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рд╕реА # рд╕реНрдХрд┐рд▓ рдЕрдкрдбреЗрдЯ рдпрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд┐рдП рдЧрдП рд╣реИрдВ ред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдмреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдореМрдЬреВрджрд╛ рд╡реАрдП/рдХреМрд╢рд▓ рдХреЗ рд▓рд┐рдП 14 рдлрд░рд╡рд░реА рддрдХ рдПрдХ рдирдП рдЬреЗрдирд░реЗрдЯрд░ рдФрд░ рдбреЙрдХреНрд╕ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реБрдП рд╕рдордХрдХреНрд╖ рдЬреЗрдПрд╕/рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрдирд░реЗрдЯрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдкреГрд╖реНрдарднреВрдорд┐ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЖрд╣реНрд╡рд╛рди рдХреМрд╢рд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдХрджрдо рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ

рдПрдХ рдмрд╛рд░ рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рдЬреЗрдПрд╕/рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реАрдП рд╕реА # рд╕реНрдХрд┐рд▓реНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╛рдпрдерди рднреАред

@darrenj , рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рд╛рдБ рдХреБрдЫ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪрд░рдг рд╣реЛрдВрдЧреЗ рдЬрд┐рдирдХрд╛ рдкрд╛рд▓рди рд╣рдо рдЕрдВрддрд┐рдо рд░реВрдк рджреЗ рд░рд╣реЗ рд╣реИрдВ

рдзрдиреНрдпрд╡рд╛рджред

рдЕрд░реЗ @darrenj , рдЬреЗрдПрд╕ / рдЯреАрдПрд╕ рдЬрдирд░реЗрдЯрд░ рдХрдм рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдбреЙрдХреНрдЯрд░ рдЕрдкрдбреЗрдЯ рдХрдм рдЬрд╛рд░реА рдХрд┐рдП

рдЕрд░реЗ @darrenj , рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ VA (C#) рд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХрд┐рд▓ рд╡рд░реНрдХ рдХрд╛ рд╕рдВрдЪрд╛рд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдирдП рдлреНрд░реЗрдорд╡рд░реНрдХ (SDK) рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдиреЗ рдХрд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ 14 рдлрд░рд╡рд░реА рддрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛

@darrenj рдЗрд╕ рдЯрд┐рдХрдЯ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

@darrenj рдЖрдЬ рдореИрдВрдиреЗ рд╡реАрдП/рд░реВрдЯрдмреЙрдЯ (рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ) рд╕реЗ рд╕реА # рдХреМрд╢рд▓ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрдЯ рдпрд╛ рдлрд┐рдХреНрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдХреМрд╢рд▓ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЛ

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирдП GA рдХреМрд╢рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ VA/рдХреМрд╢рд▓ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдбрд╝рд╛рди рдореЗрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдЙрдирдХрд╛ рд╡рд┐рд▓рдп рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рджреИрдирд┐рдХ рдмрд┐рд▓реНрдб рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рддреЛ рдореИрдВ рдЯрд┐рдХрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджреВрдВрдЧрд╛ред

рдЗрд╕ рдмреАрдЪ, рдореМрдЬреВрджрд╛ рд╡реАрдП рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдкрд░ рдПрдХ рдорд╕реМрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

https://github.com/microsoft/botframework-solutions/pull/3123

рд╣рд╛рдп @darrenj , рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕ рд╕рдордп рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХрдорд╛рддреНрд░ рдкреНрд░рд╢реНрди 'рдмреЙрдЯрдмрд┐рд▓реНрдбрд░-рд╕рдорд╛рдзрд╛рди' рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ? рдХрд╣рд╛рдБ рд╕реЗ? рдореБрдЭреЗ рдпрд╣ рд╢рд╛рдЦрд╛ рдпрд╣рд╛рдВ рдорд┐рд▓реА рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рд┐рд▓реАрдЬ рдХреА рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ (https://github.com/microsoft/botframework-solutions/tree/feature/southworks/0.7/parity-botbuilder-solutions/sdk/typescript/libraries/botbuilder-solutions) , рдХреНрдпрд╛ рд╡рд╣ рд╕рд╣реА рд╣реИ?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рджред

@ рдмрдЯреНрдЯрд╛ 32 рдХреНрдпрд╛ рдЖрдк рддреБрд░рдВрдд рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреА рдХрд┐рд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдирдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ)

@ tommyJimmy87 - рдЖрдк рдкреАрдЖрд░ #3122 рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ GA рд╕реНрдХрд┐рд▓реНрд╕ SDK рдХреЗ рд▓рд┐рдП BotBuilder-Solutions рдХреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╢рд╛рдЦрд╛: рдлреАрдЪрд░/рд╕рд╛рдЙрдерд╡рд░реНрдХреНрд╕/рдЧрд╛-рдХреМрд╢рд▓-рдПрд╕рдбреАрдХреЗ/рдмреЙрдЯрдмрд┐рд▓реНрдбрд░-рд╕рдорд╛рдзрд╛рди

рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ (рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ):

  1. рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЦреЛрд▓реЗрдВ
  2. рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm install рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  3. рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm run build рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  4. рд▓рд╛рдпрдмреНрд░реЗрд░реА .tgz рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП npm pack рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  5. рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреА package.json рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ
  6. tgz рдХреЗ рдмрдирд╛рдП рдЧрдП рдкрде рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдмреЙрдЯрдмрд┐рд▓реНрдбрд░-рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
  7. рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm install рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕ рдкреАрдЖрд░ рдореЗрдВ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВ рдФрд░ рд╣рдо ASAP рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗред

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреБрд░рд╛рдиреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ 30 рджрд┐рдиреЛрдВ рд╕реЗ рдЦреБрд▓рд╛ рд╣реИред рдкреБрд░рд╛рдирд╛ рд▓реЗрдмрд▓ рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рд╣рдЯрд╛рдПрдВ рдпрд╛ рдЗрд╕реЗ 5 рджрд┐рдиреЛрдВ рдореЗрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

@darrenj - рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рд╡реАрдП (рд╕реА #) рд╕реЗ рдХреМрд╢рд▓ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдиреЛрдб рдЬреЗрдПрд╕ рд╣реИред

https://microsoft.github.io/botframework-solutions/overview/whats-new/0.8-beta/migrate- рдореМрдЬреВрджрд╛-va-to-0.8/

рд╣рд╛рдБ - рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреАрдЖрд░ рдореЗрдВ рд╣реИ рдФрд░ рдЯреАрдо рдЗрд╕ рдХрд╛рдо рдХреЛ рдкреВрд░рд╛ рдХрд░ рд░рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдмреЛрд▓рддреЗ рд╣реИрдВ! (@ рдмрдЯреНрдЯрд╛32)ред рдЖрдк рдпрд╣рд╛рдВ рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/microsoft/botframework-solutions/pull/3123

рдПрд╕рдбреАрдХреЗ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде: https://github.com/microsoft/botframework-solutions/pull/3122

рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЖрдкрдХреЗ рдзреИрд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдХрдИ рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред

  • рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ VA рдХреЛ GA BF рдХреМрд╢рд▓ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ
  • рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХрд┐рд▓ рдХреЛ GA BF рд╕реНрдХрд┐рд▓реНрд╕ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реАрдП рдЬрдирд░реЗрдЯрд░ рдХреЗ

рдпрд╣ рддрдм npm рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рд╣рдо 1.0 рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ Azure рдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рдВрдбреЛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рд╣рдо рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рддрдХ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд╕рд╛рде рдХреЛрдИ рдкреНрд░рд╢реНрди/рд╕рдорд╕реНрдпрд╛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЙрдард╛рдПрдВ рдФрд░ рд╣рдо рдпрд╣рд╛рдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╣реИрдВред

@ рдмрдЯреНрдЯрд╛32 рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣рдо рдмреЙрдЯрдмрд┐рд▓реНрдбрд░-рд╕рдорд╛рдзрд╛рди 4.5.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдирдИ рд░рд┐рд▓реАрдЬрд╝ рд╕рд╣реА рд╣реИ?

@ рдмрдЯреНрдЯрд╛32 рдирдпрд╛ рдПрд╕рдбреАрдХреЗ рдХрдм рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдореИрдВ 13 рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реАрдП рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдЧрд▓реА рд╢рд╛рдЦрд╛ рд╕реЗ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдирдорд╕реНрддреЗ @tommyJimmy87 рдФрд░ @tomSauret847 , рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк MyGet рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рджреИрдирд┐рдХ рдмрд┐рд▓реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

botbuilder-solutions рджреИрдирд┐рдХ рдмрд┐рд▓реНрдб рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ (рдЕрдкрдиреЗ рдмреЙрдЯреНрд╕ рдХреЗ package-lock рдФрд░ node_modules рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рд░рдЦреЗрдВ) :

  • рд╡рд┐рдХрд▓реНрдк 1: рдПрдХ рдЬреЛрдбрд╝реЗ .npmrc рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ https://botbuilder.myget.org/F/aitemplates/npm , рдФрд░ рдЕрджреНрдпрддрди рдХрд░рдиреЗ package.json рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП botbuilder-solutions рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 4.5.0-preview223
  • рд╡рд┐рдХрд▓реНрдк 2: botbuilder-solutions рдХреЗ tgz рдХреЛ рд╕реАрдзреЗ package.json рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдирд┐рд░рдкреЗрдХреНрд╖ рдкрде рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
npm pack [email protected] --registry https://botbuilder.myget.org/F/aitemplates/npm

рдпрджрд┐ рдЖрдк generator-botbuilder-assistant рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдлрд┐рд░ MyGet рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

npm uninstall -g generator-botbuilder-assistant
npm install -g [email protected] --registry https://botbuilder.myget.org/F/aitemplates/npm

@ рдмрдЯреНрдЯрд╛32 рд╣рдореЗрдВ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╣рд╛рдВ рд╣реЛрдЧреА? рдореИрдВрдиреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рд╡реАрдП рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреБрдХреВрд▓рди рдХреЗ рд╡реАрдП рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЕрдорд╛рдиреНрдп рд╕рдВрд╡рд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рддреНрд░реБрдЯрд┐: DialogSet.add (): рдЕрдорд╛рдиреНрдп рд╕рдВрд╡рд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

@darrenj - рджреИрдирд┐рдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдореБрджреНрджреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?

@tomSauret847 - рдЗрд╕ рдмреАрдЪ, рдЖрдк рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдФрд░ рд░реЗрдкреНрд░реЛ рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ !

рдкрд░рд┐рд╡реЗрд╢ рд╡рд┐рдВрдбреЛрдЬрд╝ 10 рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
рдЪрд░рдг: рд░рд┐рдХреНрдд VA рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЬрдирд░реЗрдЯрд░ рдЪрд▓рд╛рдПрдБ
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
https://botbuilder.myget.org/F/aitemplates/npm рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП .npmrc рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ
node_modules рдФрд░ package-lock.json рд╣рдЯрд╛рдПрдВ
npm рдЪрд▓рд╛рдПрдБ рдХрд░реЗрдВ
рдЕрдиреНрдп рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm install рдЪрд▓рд╛рдПрдБ
рдПрдирдкреАрдПрдо рдмрд┐рд▓реНрдб рдЪрд▓рд╛рдПрдВ
рд░рди рдПрдирдкреАрдПрдо рд░рди рд╕реНрдЯрд╛рд░реНрдЯ
рддреЛ рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ:
рд╕реА:рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдбреЗрд╕реНрдХрдЯреЙрдкрдмреНрд▓реИрдВрдХрд╡реАрдЯреЗрд╕реНрдЯрдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯрдиреЛрдб_рдореЙрдбреНрдпреВрд▓рдПрдкреНрд▓рд┐рдХреЗрд╢рдирдЗрдирд╕рд╛рдЗрдЯреНрд╕рдЖрдЙрдЯрдСрдЯреЛрдХреЛрд▓реЗрдХреНрд╢рди рдЕрдкрд╡рд╛рджредрдЬреЗрдПрд╕:34
THIS_IS_APPLICATION_INSIGHTS_RETHROWING_YOUR_EXCEPTION рдлреЗрдВрдХреЗрдВ; // рддреНрд░реБрдЯрд┐ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рдЙрддреНрдкрдиреНрди рд╣реБрдИ
^

рддреНрд░реБрдЯрд┐: DialogSet.add (): рдЕрдорд╛рдиреНрдп рд╕рдВрд╡рд╛рдж рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
DialogSet.add рдкрд░ (C:UsersuserDesktopBlankVAtestassistantnode_modulesbotbuilder-dialogslibdialogSet.js:87:19)
MainDialog.addDialog рдкрд░ (C:UsersuserDesktopBlankVAtestassistantnode_modulesbotbuilder-dialogslibcomponentDialog.js:148:22)
рдирдП MainDialog рдкрд░ (C:UsersuserDesktopBlankVAtestassistantlibdialogsmainDialog.js:34:14)
рд╡рд╕реНрддреБ рдкрд░ред(рд╕реА:рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдбреЗрд╕реНрдХрдЯреЙрдкрдмреНрд▓реИрдВрдХрд╡реАрдЯреЗрд╕реНрдЯреЗрд╕рд┐рд╕реНрдЯреЗрдВрдЯрд▓рд┐рдмрд┐рдиреНрдбреЗрдХреНрд╕.рдЬреЗрдПрд╕:159:24)
рдореЙрдбреНрдпреВрд▓._рдХрдВрдкрд╛рдЗрд▓ рдкрд░ (рдЖрдВрддрд░рд┐рдХ/рдореЙрдбреНрдпреВрд▓/cjs/loader.js:778:30)
Object.Module._extensions..js рдкрд░ (рдЖрдВрддрд░рд┐рдХ/рдореЙрдбреНрдпреВрд▓/cjs/loader.js:789:10)
рдореЙрдбреНрдпреВрд▓.рд▓реЛрдб рдкрд░ (рдЖрдВрддрд░рд┐рдХ/рдореЙрдбреНрдпреВрд▓/рд╕реАрдЬреЗ/рд▓реЛрдбрд░.рдЬреЗрдПрд╕:653:32)
tryModuleLoad рдкрд░ (рдЖрдВрддрд░рд┐рдХ/рдореЙрдбреНрдпреВрд▓/cjs/loader.js:593:12)
Function.Module._load рдкрд░ (рдЖрдВрддрд░рд┐рдХ/рдореЙрдбреНрдпреВрд▓/cjs/loader.js:585:3)
Function.Module.runMain рдкрд░ (рдЖрдВрддрд░рд┐рдХ/рдореЙрдбреНрдпреВрд▓/cjs/loader.js:831:12)

рдзрдиреНрдпрд╡рд╛рдж! рд╣рдордиреЗ рдЖрдкрдХреЗ рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬрдм botbuilder-solutions рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рд░реЛрдз рд╣реЛрддрд╛ рд╣реИ, рдмрд╛рдХреА рдХреЛ рдЕрд▓рдЧ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

image

рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ node_modules рдФрд░ package-lock рдХреЛ рд╣рдЯрд╛рдХрд░)

  1. package.json рдХреЛ 4.5.0-preview223 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде botbuilder-solutions рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

image

  1. npm install рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  2. npm run build рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдПрдВ
  3. рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЛ npm run start рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ

image

@tomSauret847 рдпрджрд┐ рдЖрдк рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рд╣рдо рдЕрдВрддрд┐рдо рд╕рддреНрдпрд╛рдкрди рдкреВрд░рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ рдмрд╛рд░ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдирдП рдмрд┐рд▓реНрдб рдХреЛ npm рдкрд░ рдзрдХреЗрд▓ рджреЗрдВрдЧреЗред

рд╣рд╛рдп @darrenj , рдирдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рдПрд▓рдЬреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА, рдореВрд▓ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдордПрд╕ рдЯреАрдореЛрдВ рд╕реЗ рд▓реЛрдХреЗрд▓ рдПрди-рдпреВрдПрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдПрди-рдпреВрдПрд╕ (рд▓реЛрдЕрд░ рдХреЗрд╕) рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдкрд╣рдЪрд╛рдирд╛ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯрд╛ рдорд╛рдорд▓рд╛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ if (this.templateEnginesPerLocale.has(locale)) рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдП (LocaleTemplateEngineManager.ts рд▓рд╛рдЗрди 61)ред рдлрд┐рд▓рд╣рд╛рд▓ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ index.ts рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛:

const supportedLocales: string[] = ['en-us', 'en-US','de-de'];

supportedLocales.forEach((locale: string) => {
    const localeTemplateFiles: string[] = [];
    templateFiles.forEach(template => {
        // LG template for en-us does not include locale in file extension.
        if (locale === 'en-us' || locale === 'en-US') {
            localeTemplateFiles.push(path.join(__dirname, 'responses', `${ template }.lg`));
        }
        else {
            localeTemplateFiles.push(path.join(__dirname, 'responses', `${ template }.${ locale }.lg`));
        }
    });

    localizedTemplates.set(locale, localeTemplateFiles);
});

рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдзрдиреНрдпрд╡рд╛рджред @ рдмрдЯреНрдЯрд╛ 32 - рдХреНрдпрд╛ рдЖрдк рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдм рдореЗрдВ рд▓реЛрдХреЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯрдЗрдВрдЬрд┐рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ рдЬреЛ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ MultiLanguageLG рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ? рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдорд┐рд╢реНрд░рд┐рдд рдорд╛рдорд▓реЗ рдХреЛ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓реЗрдЧрд╛ рд▓реЗрдХрд┐рди рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рд╣реЛрдВрдЧреЗред

@ lzc850612 рдХреНрдпрд╛ рд╣рдо csharp GA RC рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рддреНрдпрд╛рдкрди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ

рдЬрд╝рд░реВрд░ @darrenj , рд╣рдо рдЙрд╕ рдмрджрд▓рд╛рд╡ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВрдЧреЗ!

@darrenj рдкреНрд░рдЧрддрд┐ рдкрд░ рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╣реА рд▓реЛрдХреЗрд▓ рдореБрджреНрджрд╛ рдерд╛ рдЬреЛ рдЯреЙрдореА рдЬрд┐рдореА рдиреЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рд▓реЛрдХреЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореИрдиреЗрдЬрд░ рдореЗрдВ locale.toLowerCase рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдкреАрдЫреЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡реАрдП рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдХреМрд╢рд▓ рд╕рдВрд▓рдЧреНрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреМрд╢рд▓ рд╡реАрдП рдХреЛ 501 рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдбрд┐рдлреЙрд▓реНрдЯрдПрдХреНрдЯрд┐рд╡рд┐рдЯреАрд╣реИрдВрдбрд▓рд░.рдЯреАрдПрд╕ рдореЗрдВ рдСрдирдореИрд╕реЗрдЬ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдХреМрд╢рд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╕рдВрд╡рд╛рдж рдореЗрдВ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ appSettings.json рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ рдХреМрд╢рд▓ рдЬреЛрдбрд╝рд╛ рд╣реИ, рдФрд░ рдХреМрд╢рд▓ рдЧрддрд┐рд╡рд┐рдзрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИред

@ рдмрдЯреНрдЯрд╛ 32 рдореИрдВ рдпрд╣

@ рдмрдЯреНрдЯрд╛ 32 рдореИрдВ рдЙрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдЬреЛ рдореБрдЭреЗ рд╡реАрдП рд╕реЗ рдПрдХ рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдкрд░ рдорд┐рд▓ рд░рд╣реА рдереАред рдбрд╛рдпрд▓реЙрдЧрдПрдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рдкреНрд░реЗрд╖рдг рдЯреНрд░реЗрд╕ рд╣реИ рдЬреЛ рдЯреНрд░реЗрд╕ рдХреЛ рд╡реАрдП рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреМрд╢рд▓ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдпрд╣ рд╕реЗрдВрдбрдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рд░рд╣реА рд╣реИ:
рддреНрд░реБрдЯрд┐: /api/messages/v3/рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк/5659a380-841b-11ea-bed3-831b5a6aa1eb%7Clivechat-dlpskill-emulator-skillconvo/рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ/5b61c920-841b-11ea-b148-8581dc55a9bb рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ
рдЬрдм рд╕реНрдХрд┐рд▓ рдХрдиреНрд╡рд░реНрд╕реЗрд╢рди рдЖрдИрдбреА рдлреИрдХреНрдЯреНрд░реА рдореЗрдВ рдмрд╛рддрдЪреАрдд рдЖрдИрдбреА рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреМрд╢рд▓ рдирдИ рдмрд╛рддрдЪреАрдд рдЖрдИрдбреА рдкрд░ рд╡рд╛рдкрд╕ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЕрджреНрдпрддрди:
рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдХрд┐рд▓рд╣реЛрд╕реНрдЯрдПрдВрдбрдкреЙрдЗрдВрдЯ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рдерд╛ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣рд╛ рдерд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдЕрдм рдХреМрд╢рд▓ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реАрдП рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред

@ Batta32 @darrenj VA рдХреЗ рд╕рд╛рде рдЪрд┐рдЯрдЪреИрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ: рдореВрд▓ рд░реВрдк рд╕реЗ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмреЙрдЯ рд╕реЗ рдХреБрдЫ рдкреВрдЫрддрд╛ рд╣реИ рддреЛ рдЗрдВрдЯреНрд░реЛрд╕реНрдЯреЗрдк рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрджреЗрд╢ рдХреЛ рджреЛрдмрд╛рд░рд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛, рдЬреЛ рдХрд┐ рдЪрд┐рдЪреИрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпреВрдПрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╣рд╛рди рдирд╣реАрдВ рд╣реИ . рдХреНрдпрд╛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ?

Screen Shot 2020-04-23 at 11 25 46

(рдХреГрдкрдпрд╛ рд╕рдВрджреЗрд╢ рдкрд░ рд╣реЛрд▓реНрдб рдХрд░реЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ
)

@ рдмрдЯреНрдЯрд╛ 32 рдореИрдВ рдЙрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдЬреЛ рдореБрдЭреЗ рд╡реАрдП рд╕реЗ рдПрдХ рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдкрд░ рдорд┐рд▓ рд░рд╣реА рдереАред рдбрд╛рдпрд▓реЙрдЧрдПрдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рдкреНрд░реЗрд╖рдг рдЯреНрд░реЗрд╕ рд╣реИ рдЬреЛ рдЯреНрд░реЗрд╕ рдХреЛ рд╡реАрдП рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреМрд╢рд▓ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдпрд╣ рд╕реЗрдВрдбрдПрдХреНрдЯрд┐рд╡рд┐рдЯреА рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рд░рд╣реА рд╣реИ:
рддреНрд░реБрдЯрд┐: /api/messages/v3/рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк/5659a380-841b-11ea-bed3-831b5a6aa1eb%7Clivechat-dlpskill-emulator-skillconvo/рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдБ/5b61c920-841b-11ea-b148-8581dc55a9bb рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ
рдЬрдм рд╕реНрдХрд┐рд▓ рдХрдиреНрд╡рд░реНрд╕реЗрд╢рди рдЖрдИрдбреА рдлреИрдХреНрдЯреНрд░реА рдореЗрдВ рдмрд╛рддрдЪреАрдд рдЖрдИрдбреА рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреМрд╢рд▓ рдирдИ рдмрд╛рддрдЪреАрдд рдЖрдИрдбреА рдкрд░ рд╡рд╛рдкрд╕ рдкреЛрд╕реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЕрджреНрдпрддрди:
рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдХрд┐рд▓рд╣реЛрд╕реНрдЯрдПрдВрдбрдкреЙрдЗрдВрдЯ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рдерд╛ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣рд╛ рдерд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдЕрдм рдХреМрд╢рд▓ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реАрдП рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред

@tomSauret847 рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рдереА? рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред рдореЗрд░реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ:
"skillHostEndpoint": "https://1c34e472.ngrok.io/api/skills"
рдЬреЛ рд╡реАрдП рдХрд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реИред

Error: /api/skills/v3/conversations/a%3A1QIRXOg6VwVn2aGC-eTj9sj3YYd6YUVrRKf8J7wLrjH1fPYcpn2dYpMyQpr_aHLHSp9Z2SHVzu8lKbdj_ArEh06kvjyF48IG1tgE1ctKTWdIASDloNgy51_eBFoGzwwIN-waSearchSkill-msteams-skillconvo/activities/1588679971133 does not exist at new RestError (/Users/em.tomaselli/Desktop/repository/BMW/wa-search-skill/node_modules/@azure/ms-rest-js/dist/msRest.node.js:1397:28) at /Users/em.tomaselli/Desktop/repository/BMW/wa-search-skill/node_modules/@azure/ms-rest-js/dist/msRest.node.js:1849:37 at process._tickCallback (internal/process/next_tick.js:68:7)

@ рдмрдЯреНрдЯрд╛32 рдореИрдВ рдЕрдкрдиреЗ рд╡реАрдП рдФрд░ 1 рдХреМрд╢рд▓ рдХреЛ
рддреНрд░реБрдЯрд┐: рдХреМрд╢рд▓ рдЖрдИрдбреА рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐: "dlpskill" "https://{app name}.azurewebsites.net/api/skill/messages" рдкрд░ (рд╕реНрдерд┐рддрд┐ 500 тАЛтАЛрд╣реИ)ред
рддреНрд░реБрдЯрд┐: / API / рдХреМрд╢рд▓ / v3 / рдмрд╛рддрдЪреАрдд / рдПрдХ: 1lFWWXG9CVtdrkA76VLFeS9CbYWzsHVr9mQ4S7BqDpL4K5WNIc0ND6mqaaj_QsSqH-qUU-Gb2vLX3HQ4CpG3ZDPCbR0XKLtJGOqW0kwKUbe2HKv5C9fs1sjLSO4EvoE5h-dlpskill-msteams-skillconvo / рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ / 1588712064379 рдирд╣реАрдВ рдореМрдЬреВрдж
рд╕реНрдХрд┐рд▓рдбрд╛рдпрд▓реЙрдЧ рдкрд░ред(рдбреА:рд╣реЛрдорд╕рд╛рдЗрдЯwwwrootnode_modulesbotbuilder-dialogslibskillDialog.js:164:23)
рдЬреЗрдирд░реЗрдЯрд░.рдиреЗрдХреНрд╕реНрдЯ рдкрд░ ()
рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░ (D:homesitewwwrootnode_modulesbotbuilder-dialogslibskillDialog.js:11:58)
at process._tickCallback (рдЖрдВрддрд░рд┐рдХ/рдкреНрд░рдХреНрд░рд┐рдпрд╛/next_tick.js:68:7)

@ tommyJimmy87 рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ VA рд╕реЗ рдХреМрд╢рд▓ рдХреЗ рд▓рд┐рдП рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ngrok рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ 3979/рдПрдкреАрдЖрдИ/рдХреМрд╢рд▓ рдФрд░ рдХреМрд╢рд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдЪреВрдБрдХрд┐ рдЖрдк Teams рдЪреИрдирд▓ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ Teams рдЪреИрдирд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЖрдк рд╡реЗрдм рдЪреИрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреМрд╢рд▓ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рд╡реАрдП рд╕реЗ рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рдиреАрд▓рд╛ рдореЗрдВ рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рдп @ Batta32, рдореИрдВ рд╕рд╛рде @ tomSauret847 рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рд╡рд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рддрд┐рдирдХрд╛ рдЯреАрдореЗрдВ рдЪреИрдирд▓ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдорддред

рдХреБрдЫ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ:

1) ChannelServiceHandler рд╕рднреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЬрдм /api/skills рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рд░ рдмрд╛рд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛрдб рд▓реМрдЯрд╛рдПрдЧрд╛;

рдпрд╛рдиреА рдлрд╝рд╛рдЗрд▓: ChannelServiceHandler.ts (рдмреЙрдЯрдмрд┐рд▓реНрдбрд░), рд▓рд╛рдЗрди: 219

    protected async onGetActivityMembers(claimsIdentity: ClaimsIdentity, conversationId: string, activityId: string): Promise<ChannelAccount[]> {
        throw new StatusCodeError(StatusCodes.NOT_IMPLEMENTED, `ChannelServiceHandler.onGetActivityMembers(): ${StatusCodes.NOT_IMPLEMENTED}: ${STATUS_CODES[StatusCodes.NOT_IMPLEMENTED]}`);
    }

2) /api/skills/v3/conversations/a%3A1QIRXOg6VwVn2aGC-eTj9sj3YYd6YUVrRKf8J7wLrjH1fPYcpn2dYpMyQpr_aHLHSp9Z2SHVzu8lKbdj_ArEh06kvjyF48IG1tgE1ctKTWdIASDloNgy51_eBFoGzwwIN-waSearchSkill-msteams-skillconvo/activities/1588761991793 рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рдЖрдИрдбреА рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдпрд╣ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдпреВрдЖрд░рдПрд▓ рдХреЛ рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рдЖрдИрдбреА рдХреЛ рд╕рд░рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ (рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдЕрднреА рднреА рд╣реЛрдЧрд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдмрд┐рдВрджреБ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ)ред

рд╣рд╛рдп @ tommyJimmy87 , @tomSauret847 - рджреЗрд░реА рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рд╣рдо GA рд╕реНрдХрд┐рд▓реНрд╕ SDK рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреАрдо рдЪреИрдирд▓ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╣рдо рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдереНрд░реЗрдб рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗ .

@tommyJimmy87 - рд╣рдордиреЗ Microsoft Teams Channel рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ред рдЬреИрд╕реЗ рд╣реА рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдВрдЧреЗ рд╣рдо рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗред

рдзрдиреНрдпрд╡рд╛рдж!

рд╣рд╛рдп @ tommyJimmy87 , @tomSauret847 , рд╣рдордиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдвреВрдВрдв рд▓рд┐рдпрд╛ред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ _':'_ рд╡рд░реНрдг рдХреЛ _'%3A'_ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬрдм рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреМрд╢рд▓ рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд╣рд╛рдпрдХ рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рджреЛрдиреЛрдВ рдмреЙрдЯреНрд╕ рдХреЗ рдмреАрдЪ _conversationId_ рдХрд╛ рдмреЗрдореЗрд▓ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд░реНрдгрд┐рдд рд╡рд░реНрдгреЛрдВ рдХреА рдЬрдЧрд╣ рдЕрдХреНрд╖реАрдп рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо, Microsoft/botbuilder-js#2182 рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ botbuilder рдореЗрдВ axios рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИ рдФрд░ рдЗрд╕реЗ _R10_ рдХреЗ рд▓рд┐рдП рдЧрдпрд╛ рд╣реИ ред

рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЬреНрдЮрд╛рдд рдореБрджреНрджреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ

рдЕрдВрдд рдореЗрдВ, рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирдП рдЕрдкрдбреЗрдЯ рд╣реЛрдВрдЧреЗ, рд╣рдо рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдВрдЧреЗ

_рдмрд╛рддрдЪреАрдд рдХрд╛ рдмреЗрдореЗрд▓ рд╣реЛрдирд╛_
image

_axios рдирд┐рд░реНрднрд░рддрд╛ ':' рдХреЛ '%3A'_ рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИ
image

@ рдмрдЯреНрдЯрд╛32 рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдЗрд╕рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛?

@ tommyJimmy87 , @tomSauret847 - рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ axios рдХреЗ рдмрдЬрд╛рдп ms-rest-js рдореЗрдВ рд╣реИ ред

рд╕рдорд╕реНрдпрд╛ рдХреМрд╢рд▓ рдФрд░ рдЖрднрд╛рд╕реА рд╕рд╣рд╛рдпрдХ рдХреЗ рдмреАрдЪ conversationId рдХрд╛ рдмреЗрдореЗрд▓ рд╣реИред рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕рд▓рд┐рдП рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЯреАрдореЛрдВ рд╕реЗ _conversationId_ рдХреЗ _':'_ рд╡рд░реНрдг рдХреЛ _'%3A'_ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╛рдкрд╕ _':'_ рдореЗрдВ SendOperationRequest рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЧрд▓рддреА рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ .

_encodeURIComponent '%3A' рдХреЛ рд╡рд╛рдкрд╕ ':'_ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛
image

_рдЕрдХреНрд╖реАрдп рдФрд░ ms-rest-js_ рдХреЗ рдмреАрдЪ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдЕрдВрддрд░
image

@ рдмрдЯреНрдЯрд╛32 рдПрдордПрд╕-рд░реЗрд╕реНрдЯ-рдЬреЗрдПрд╕ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдЬреЗрдВрдЯ <2.0 axios рд╣реИ https://github.com/Azure/ms-rest-js/blob/1.x/lib/axiosHttpClient.ts

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╕реНрдХрд┐рд▓ рдХрдиреНрд╡рд░реНрд╕реЗрд╢рди рдЖрдИрдбреА рдлреИрдХреНрдЯреНрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рднреАрддрд░ рдПрдиреНрдХреЛрдбреБрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рддрд░рд╣, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдЬреЗрдВрдЯ рдлрд╝реИрдХреНрдЯрд░реА рдХреЗ рднреАрддрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдмрд╛рддрдЪреАрдд рдЖрдИрдбреА рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред

рдзрдиреНрдпрд╡рд╛рдж @EricDahlvang , рд╣рдо encodeURI рднреАрддрд░ SkillConversationIdFactory encodeURI рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ!

@EricDahlvang - encodeURI рдХреЛ SkillConversationIdFactory рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЛ рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдХрд┐рд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА conversationId рдПрдиреНрдХреЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ Microsoft Teams рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд░реНрддрд╛рд▓рд╛рдкId рдХреА рд▓рдВрдмрд╛рдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореВрд▓ conversationId рдХрд░рдХреЗ VA рдХрд╛ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣рд┐рдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, conversationId рд╕реЗ рдХреБрдЫ рд╡рд░реНрдгреЛрдВ рдХреЛ рдЯреНрд░рд┐рдо рдХрд░рдирд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдорд╛рд░рд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо, рдпрд╣ рд╕рдорд╕реНрдпрд╛ C# рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

_рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдореВрд▓ рдмрд╛рддрдЪреАрдд рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реИId_
image

_рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЛ рдЫрдВрдЯрдиреА рдХреА рдЧрдИ рдмрд╛рддрдЪреАрдд рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИId_
image

_рд╕рдорд╕реНрдпрд╛ рд╕реА#_ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ
image

@ рдмрдЯреНрдЯрд╛32 рдЕрдЧрд░ рд╕реНрдХрд┐рд▓ рдХрдиреНрд╡рд░реНрд╕реЗрд╢рди рдЖрдИрдбреА рдлреИрдХреНрдЯреНрд░реА рдПрдирдХреЛрдбреБрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рддреЛ рдХреМрд╢рд▓ рдЙрд╕ рдмрд╛рддрдЪреАрдд рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред рдЖрдИрдбреА рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдЧрд╛ред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рд╛рдБ, рд░реЗрд╕реНрдЯрд┐рдлрд╛рдЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд▓рдВрдмреА рдмрд╛рддрдЪреАрдд рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдирдореВрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ: https://github.com/microsoft/BotBuilder-Samples/blob/master/samples/javascript_nodejs/80.skills-simple-bot-to-bot/simple-root -bot/skillConversationIdFactory.js#L21

// рдЗрд╕ рдХреБрдВрдЬреА рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 100 рд╡рд░реНрдгреЛрдВ рдХреА рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИред index.js рдореЗрдВ restify.createServer({ maxParamLength: 1000 }); рд╕рд╛рде рд╡реГрджреНрдзрд┐ рдХрд░реЗрдВред

@EricDahlvang рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡реАрдП рдФрд░ рдХреМрд╢рд▓ рджреЛрдиреЛрдВ рдореЗрдВ рдЕрджреНрдпрддрди рдЬреЛрдбрд╝рд╛ред рдореИрдВ рдЕрдм рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдЯреАрдо рдЪреИрдирд▓ рдореЗрдВ рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реАрдП рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред

рдзрдиреНрдпрд╡рд╛рдж @EricDahlvang рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП! рд╣рдо рдкреАрдЖрд░ # 3359 рдмрдирд╛рдпрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ maxParamLength рдФрд░ рдпрд╣ рднреА рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ @types/restify@^8.4.2 ред

рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ @tommyJimmy87 , @tomSauret847 , рдЬреИрд╕реЗ рд╣реА рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рд╡рд┐рд▓рдп рд╣реЛрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреЗрдВрдЧреЗ ред

image

@ рдмрдЯреНрдЯрд╛ 32 рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдм рдореБрдЭреЗ рд╡реАрдП рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреМрд╢рд▓ рдХреА рдЕрджреНрдпрддрди рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╕реНрдХрд┐рд▓рд╣реИрдВрдбрд▓рд░ рдХреЗ рднреАрддрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдзрдиреНрдпрд╡рд╛рдж

рд╣рд╛рдп @ tommyJimmy87 , рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ C# рдФрд░ JS рдореЗрдВ SkillHandler рдореЗрдВ onUpdateActivity() рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕ рдмреАрдЪ рдЖрдк SkillHandler рдпрд╛ ChannelServiceHandler рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ ChannelServiceHandler ред

@darrenj - рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ onUpdateActivity() рдкрджреНрдзрддрд┐ рдХрд╛ рдЕрднрд╛рд╡ рд╕рд╣реА рд╣реИ рдпрд╛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ?

@ рдмрдЯреНрдЯрд╛ 32 рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

    protected async onUpdateActivity(claimsIdentity: ClaimsIdentity, conversationId: string, activityId: string, activity: Activity): Promise<ResourceResponse> {
        return await this.updateActivity(claimsIdentity, conversationId, activityId, activity);
    }

рдФрд░ updateActivity рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрди рд╣реИ:

private async updateActivity(claimsIdentity: ClaimsIdentity, conversationId: string, replyToActivityId: string, activity: Activity): Promise<ResourceResponse> {

        let skillConversationReference: SkillConversationReference;
        try {
            skillConversationReference = await this.conversationIdFactory.getSkillConversationReference(conversationId);
        } catch (err) {
            // If the factory has overridden getSkillConversationReference, call the deprecated getConversationReference().
            // In this scenario, the oAuthScope paired with the ConversationReference can only be used for talking with
            // an official channel, not another bot.
            if (err.message === 'Not Implemented') {
                const conversationReference = await this.conversationIdFactory.getConversationReference(conversationId);
                skillConversationReference = {
                    conversationReference,
                    oAuthScope: JwtTokenValidation.isGovernment(this.channelService) ?
                        GovernmentConstants.ToChannelFromBotOAuthScope :
                        AuthenticationConstants.ToChannelFromBotOAuthScope
                };
            } else {
                // Re-throw all other errors. 
                throw err;
            }
        }

        if (!skillConversationReference) {
            throw new Error('skillConversationReference not found');
        }
        if (!skillConversationReference.conversationReference) {
            throw new Error('conversationReference not found.');
        }

        const activityConversationReference = TurnContext.getConversationReference(activity);

        /**
         * Callback passed to the BotFrameworkAdapter.createConversation() call.
         * This function does the following:
         *  - Caches the ClaimsIdentity on the TurnContext.turnState
         *  - Applies the correct ConversationReference to the Activity for sending to the user-router conversation.
         *  - For EndOfConversation Activities received from the Skill, removes the ConversationReference from the
         *    ConversationIdFactory
         */
        const callback = async (context: TurnContext): Promise<void> => {
            const adapter: BotFrameworkAdapter = (context.adapter as BotFrameworkAdapter);
            // Cache the ClaimsIdentity and ConnectorClient on the context so that it's available inside of the bot's logic.
            context.turnState.set(adapter.BotIdentityKey, claimsIdentity);
            context.turnState.set(this.SkillConversationReferenceKey, activityConversationReference);
            activity = TurnContext.applyConversationReference(activity, skillConversationReference.conversationReference) as Activity;
            const client = adapter.createConnectorClient(activity.serviceUrl);
            context.turnState.set(adapter.ConnectorClientKey, client);

            context.activity.id = replyToActivityId;
            await context.updateActivity(context.activity);
            return;
        };

        // Add the channel service URL to the trusted services list so we can send messages back.
        // the service URL for skills is trusted because it is applied based on the original request
        // received by the root bot.
        AppCredentials.trustServiceUrl(skillConversationReference.conversationReference.serviceUrl);

        await (this.adapter as BotFrameworkAdapter).continueConversation(skillConversationReference.conversationReference, skillConversationReference.oAuthScope, callback);
        return { id: uuid() };
    }

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ processActivity рдлрд╝рдВрдХреНрд╢рди рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА SkillHandler рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ context.updateActivity(context.activity) рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХрд╣рд╛ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ:

(node:68325) UnhandledPromiseRejectionWarning: Error: Failed to decrypt conversation id 

рд╢рд╛рдпрдж рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдореИрдВ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

@ tommyJimmy87 - рд╣рдо рдЖрдкрдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╣рдо рдмрд╛рдж рдореЗрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗред

@ рдмрдЯреНрдЯрд╛ 32 рдореИрдВрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЗ рд╕рд╛рде "рд╣реЗрд▓реНрдк рдХрд╛рд░реНрдб" рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ рдпрд╣ рд╕рдХреНрд░рд┐рдп рдХреМрд╢рд▓ рдХреЗ рд▓рд┐рдП рд╣реЗрд▓реНрдк рдХрд╛рд░реНрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬрдм рдЖрдк рдХреМрд╢рд▓ рд╕рдВрд╡рд╛рдж рдореЗрдВ "рд╕рд╣рд╛рдпрддрд╛" рдмрд╛рдзрд╛ рджрдмрд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЕрднреА рднреА рд╡реАрдП рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрддрд╛ рдХрд╛рд░реНрдб рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рди рдХрд┐ рдХреМрд╢рд▓ред рдореИрдВрдиреЗ рдЖрдЦрд┐рд░реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рд╕рдХреНрд░рд┐рдп рд╕реНрдХрд┐рд▓рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реНрдерд┐рддрд┐ рд╕реЗрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рд╕рдХреНрд░рд┐рдп рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП рдЗрд╕ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░? рд░рд╛рдЬреНрдп рдХреЛ рд▓реЙрдЧ рдЖрдЙрдЯ рдХрд░рдирд╛ рд╕рдХреНрд░рд┐рдп рд╕рдВрд╡рд╛рдж рдЕрднреА рднреА рдПрдХ рд╕рдВрд╡рд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╡реАрдП рдореЗрдВ рд╣реИ рдФрд░ рд╕рдХреНрд░рд┐рдп рдХреМрд╢рд▓ рдирд╣реАрдВ рд╣реИред

рдирдорд╕реНрддреЗ @tommyJimmy87 , @tomSauret847 , рдЗрди рдореБрджреНрджреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреЗ рд░реВрдк рдореЗрдВ [email protected] , [email protected] рдФрд░ [email protected] npmjs рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ master , рдЖрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░ рдореЗрдВ рдореБрджреНрджреЛрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛рдПрдВ рдФрд░ рд╣рдо рдЙрдирдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВрдЧреЗ ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

gabog picture gabog  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

elaine-chang picture elaine-chang  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jbonet07 picture jbonet07  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

manish-95 picture manish-95  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lauren-mills picture lauren-mills  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ