Botframework-solutions: QnAMakerDialog рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЬреВрди 2020  ┬╖  22рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/botframework-solutions

рдХреМрди рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИ?

рдЖрднрд╛рд╕реА рд╕рд╣рд╛рдпрдХ рдФрд░ рдХреМрд╢рд▓

рдпрд╣ рдХрд┐рд╕ рднрд╛рд╖рд╛ рдореЗрдВ рд╣реИ?

рдЯрд╛рдЗрдкрдкреНрд░рддрд┐

рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?

рдЬрдм рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ (рдЙрджрд╛. DE) рдХреЗ рд╕рд╛рде QnAMakerDialog рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╡рд╣ рд╣рдореЗрд╢рд╛ рдЙрд╕ рднрд╛рд╖рд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд░рд╣реЗрдЧрд╛, рднрд▓реЗ рд╣реА рдЖрдк рднрд╛рд╖рд╛ рдмрджрд▓рддреЗ рд╣реЛрдВ рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднрд┐рдиреНрди рднрд╛рд╖рд╛ (рдЙрджрд╛. EN) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реЛред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрджрдо рд╣реИрдВ?

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рез : рдмреЙрдЯ (DE) рдХреЛ рдЙрдЪреНрдЪрд╛рд░рдг рднреЗрдЬрддрд╛ рд╣реИ;
рдмреЙрдЯ : рдмреЙрдЯ рдХреНрдпреВрдПрдирдП рдЗрд░рд╛рджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЪреНрдЪрд╛рд░рдг рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рдВрд╡рд╛рдж рдХреЗ рдЖрдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рдиреЙрд▓реЗрдЬрдмреЗрд╕ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдирдпрд╛ QnADialog рдмрдирд╛рддрд╛ рд╣реИ:

`` private registerQnADialog(knowledgebaseId: string, cognitiveModels: ICognitiveModelSet, locale: string): void { const qnaEndpoint: QnAMakerEndpoint | undefined = cognitiveModels.qnaConfiguration.get(knowledgebaseId); if (qnaEndpoint == undefined){ throw new Error( рдЖрдИрдбреА рдХреЗ рд╕рд╛рде QnA рдореЗрдХрд░ рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ рдорд┐рд▓рд╛: ${ knowledgebaseId }.`);
}

    if (this.dialogs.find(knowledgebaseId) == undefined) {
        const qnaDialog: QnAMakerDialog = new QnAMakerDialog(
            qnaEndpoint.knowledgeBaseId,
            qnaEndpoint.endpointKey,
            // The following line is a workaround until the method getQnAClient of QnAMakerDialog is fixed
            // as per issue https://github.com/microsoft/botbuilder-js/issues/1885
            new URL(qnaEndpoint.host).hostname.split('.')[0],
            this.templateEngine.generateActivityForLocale('UnsupportedMessage', locale) as Activity,
            // Before, instead of 'undefined' a '0.3' value was used in the following line
            undefined,
            this.templateEngine.generateActivityForLocale('QnaMakerAdaptiveLearningCardTitle', locale).text,
            this.templateEngine.generateActivityForLocale('QnaMakerNoMatchText', locale).text
        );

        qnaDialog.id = knowledgebaseId;

        this.addDialog(qnaDialog);
    }
}

```

рдмреЙрдЯ : рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1 рдХреЗ рд╕реНрдерд╛рди (DE) рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1 рдХреЛ QnA рдЙрддреНрддрд░ рднреЗрдЬрддрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ реи : рдмреЙрдЯ рдХреЛ рдЙрдЪреНрдЪрд╛рд░рдг рднреЗрдЬрддрд╛ рд╣реИ ( EN );
рдмреЙрдЯ : рдмреЙрдЯ QnA рдЖрд╢рдп (рд╡рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1 рднреЗрдЬрд╛ рдЧрдпрд╛) рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЪреНрдЪрд╛рд░рдг рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдХреЛрдИ рдирдпрд╛ QnaMakerDialog рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╣реА рдиреЙрд▓реЗрдЬрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред
рдмреЙрдЯ : рдмреЙрдЯ рдлрд┐рд░ рд╕реЗ QnA рдбрд╛рдпрд▓реЙрдЧ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛) рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЬреНрдЮрд╛рдирдХреЛрд╖ (DE) рд╕реЗ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ;
рдмреЙрдЯ : рдпреВрдЬрд░ 1 рдХреЗ рд▓реЛрдХреЗрд▓ рдореЗрдВ рдпреВрдЬрд░ 2 рдХреЛ рдореИрд╕реЗрдЬ рднреЗрдЬрддрд╛ рд╣реИред

рдЖрдк рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рдереЗ?

рдПрдХ рдФрд░ QnAMakerDialog рд╕рд╣реА рднрд╛рд╖рд╛ рдФрд░ рд╕рд╣реА рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

Bot Services Kobuk bug customer-replied-to customer-reported in-progress

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

рд╣рд╛рдп @ рдмрдЯреНрдЯрд╛32 ,

рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдИ рдмреЙрдЯ-рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ :) рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрдм рдЬрд╛рд░реА рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?

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

рдзрдиреНрдпрд╡рд╛рдж @ tommyJimmy87ред рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛, рд╣рдо рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗ!

рд╣рд╛рдп @ tommyJimmy87 , рд╣рдордиреЗ рдкреАрдЖрд░ #3559 рдмрдирд╛рдпрд╛ рдЬреЛ рдмреЙрдЯреНрд╕ рдореЗрдВ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ ред

рдпрджрд┐ рдЖрдк рдЗрддрдиреЗ рджрдпрд╛рд▓реБ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрди рд░реЗрдкреНрд░реЛ рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ рдФрд░ рдЗрд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

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

    "рдмреЙрдЯ-рд╕рдорд╛рдзрд╛рди": "рдкрд╛рде рдЯреВ рдмреАрдУрдЯреА-рд╕реЙрд▓реНрдпреВрд╢рди рдЯреАрдЬреАрдЬреЗрдб"

  7. рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЛ рдмрд╣реБ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рддреИрдирд╛рдд рдХрд░реЗрдВ

  8. рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд QnAMakerDialog рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ

рдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдкреАрдЖрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  1. рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдФрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдХреМрд╢рд▓ рдореЗрдВ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди ( inversifyjs рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  2. рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рд╣рдо рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рдкреНрд░рддрд┐ рдЪреМрдХрд╕ рд░рд╣реЗрдВрдЧреЗ .

рд╣рд╛рдп @ рдмрдЯреНрдЯрд╛32 ,

рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдИ рдмреЙрдЯ-рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ :) рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрдм рдЬрд╛рд░реА рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?

рд╣рд╛рдп @ рдмрдЯреНрдЯрд╛32 , рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЬрдм рдореИрдВ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ: TypeError: Reflect.hasOwnMetadata is not a function ред
рдХреНрдпрд╛ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрдирд╡рд░реНрд╕рд┐рдлрд╝рд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛?

рдзрдиреНрдпрд╡рд╛рдж @ tommyJimmy87! рд╣рдо рдЗрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдХрд╛ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛, рд╣рдо рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗред

рдирдорд╕реНрддреЗ @ рдмрдЯреНрдЯрд╛32 , рд╣рдордиреЗ рдЗрд╕ рдЖрдпрд╛рдд рдХреЛ рдкрд░реАрдХреНрд╖рдг рдЖрдзрд╛рд░ рдЬреЗрдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛: require('reflect-metadata');

рд╣рд╛рдп @ tommyJimmy87 - рд╣рдо рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред

рд╣рдо рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЖрдП:

  1. рдХреНрдпрд╛ рдЖрдк рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
  2. рдЖрдкрдХреЛ рдХреМрди рд╕рд╛ рдШрдЯрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
  3. рдХреНрдпрд╛ рдЖрдк рдЙрди рд░реЗрдкреНрд░реЛ рдЪрд░рдгреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЖрдкрдиреЗ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдерд╛?

рдпрд╣ рд╣рдорд╛рд░рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╣реИ :

  • рд╣рдо рдЗрд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: feature/southworks/dependency-injection-implementation
  • рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдирдореВрдирд╛
  • рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреМрд╢рд▓ рдирдореВрдирд╛

рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдФрд░ рд╕реНрдХрд┐рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрджрдо рдЙрдард╛рдП:

  1. рдмреЙрдЯ-рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдЬрд╛рдПрдВ
  2. рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm install рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  3. рд╕рдорд╛рдзрд╛рди рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm run build рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  4. npm pack . рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП .tgz рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  5. рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╕реИрдВрдкрд▓ рдкрд░ рдЬрд╛рдПрдВ
  6. рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рдмрдирд╛рдП рдЧрдП .tgz рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░реЗрдВред
  7. "рдмреЙрдЯ-рд╕рдорд╛рдзрд╛рди": ""
  8. рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm install рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  9. рд╕рдорд╛рдзрд╛рди рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm run build рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  10. рд╕рдорд╛рдзрд╛рди рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП npm run test рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
  11. рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ

image

image

рд╣рд╛рдп @ tommyJimmy87 - рд╣рдордиреЗ рдкреАрдЖрд░ #3559 рдореЗрдВ рд╕реБрдЭрд╛рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ред

рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдпрд╛рдд рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдФрд░ рд╕реНрдХрд┐рд▓ рдмреЙрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛: require('reflect-metadata'); рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ BotTestBase рдФрд░ SkillTestBase рдореЗрдВ , рддрд╛рдХрд┐ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХреЗ рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред

рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдФрд░ рд╕реНрдХрд┐рд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдзрдиреНрдпрд╡рд╛рдж,
рдбрд┐рдПрдЧреЛред

рдирдорд╕реНрддреЗ @ рдмрдЯреНрдЯрд╛32 рдФрд░ @ рдбрд┐рдПрдЧреЛ рдХрд╛рд░реНрдбреЛрдЬрд╝реЛ94 ,

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рднрд▓реЗ рд╣реА рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреВрдЫреВрдВрдЧрд╛ред

рд╣рдорд╛рд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХрдорд╛рддреНрд░ рдЪреИрдирд▓ рдХреЗ рд░реВрдк рдореЗрдВ MS Teams рд╣реИ, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ TeamsActivityHandler рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ VA рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рди рдХрд┐ рдХреМрд╢рд▓ рдХреЗ рдирдореВрдиреЗ рдореЗрдВ, рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рд╢рд╛рдпрдж рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдореИрдВ TeamsActivityHandler рдХреМрд╢рд▓ рдореЗрдВ рднреА рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдореБрджреНрджреЗ рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛: рдореВрд▓ рд░реВрдк рд╕реЗ endOfConversation рд╡рд┐рдзрд┐ рдХреЛ рдХреМрд╢рд▓ рдХреЗ DefaultActivityHandler cancel рдмрд╛рдж рдХрднреА рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред . рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреМрд╢рд▓ рдХреЗ рднреАрддрд░ "рд╕рд╛рдорд╛рдиреНрдп" рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИрдВрдбрд▓рд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдЖрдк рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

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

рдирдорд╕реНрддреЗ @ tommyJimmy87 , TeamsActivityHandler ActivityHandler рдЬреЛ Microsoft Teams рд╡рд┐рд╢рд┐рд╖реНрдЯ рдИрд╡реЗрдВрдЯ рдФрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рддреЛ рдЖрднрд╛рд╕реА рд╕рд╣рд╛рдпрдХ, рдПрдХ рдЬреЛ рдЖрднрд╛рд╕реА рд╕рд╣рд╛рдпрдХ рдХреА рд╕реНрдХреАрдорд╛ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЯреАрдореЗрдВ рдЪреИрдирд▓ рдкрд░ рд╕реВрдЪрдирд╛ рдХрд╛ рдЖрджрд╛рди рдкреНрд░рджрд╛рди рдХреМрд╢рд▓ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ DefaultActivityHandler рдЖрднрд╛рд╕реА рд╕рд╣рд╛рдпрдХ рдХреА рд╕реЗ TeamsActivityHandler , рдирд╣реАрдВ рдХреМрд╢рд▓ рдЙрд╕ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕реНрдХреАрдорд╛ рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдирдореВрдиреЛрдВ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЯреЗрдореНрдкреНрд▓реЗрдЯ/рдирдореВрдиреЛрдВ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХрд╛ DefaultActivityHandler TeamsActivityHandler рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЯреАрдо рдХреЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред

рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдкрд░ рд╢реЛрдз рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рдирдХреА рдЖрдк рд╕рдореАрдХреНрд╖рд╛ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ ред

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

@ рдмрдЯреНрдЯрд╛32 рдпрд╣ рдЕрднреА рдЬрд╛рд░реА рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ рдирд╛?

рдирдорд╕реНрддреЗ @tommyJimmy87 - рд╣рдо рдирдП рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛ рд╣рдо рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗ ред

@ рдмрдЯреНрдЯрд╛32 рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

рд╣рд╛рдп @cwhitten , рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреАрдЖрд░ # 3559 рдХреЗ рд╕рд╛рде рддрдп рдХреА рдЧрдИ рд╣реИ рдЬрд┐рд╕реЗ @peterinnesmsft рдХреЗ рдЕрдиреБрд░реЛрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЬреИрд╕реЗ рд╣реА рдкреАрдЖрд░ рдХрд╛ рд╡рд┐рд▓рдп рд╣реЛрддрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрди next рд╢рд╛рдЦрд╛ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдВрдЧреЗред

#3559 рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? @ рдмрдЯреНрдЯрд╛32

рдЗрд╕ рдкрд░ рдЖрдЦрд┐рд░реА рдЕрдкрдбреЗрдЯ 11 рд╕рд┐рддрдВрдмрд░ рдХреЛ рдерд╛

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

рд╣рд╛рдп @tonyanziano , рдкреАрдЖрд░ #3559 рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рдФрд░ @peterinnesmsft рдХреЗ рдЕрдиреБрд░реЛрдзрд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЬреИрд╕реЗ рд╣реА рдкреАрдЖрд░ рдХрд╛ рд╡рд┐рд▓рдп рд╣реЛрддрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрди next рд╢рд╛рдЦрд╛ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдВрдЧреЗред

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

@joshgummersall #3752 рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдЖрдк рдЗрд╕реЗ рдХрдм рдорд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ?

рдЬреИрд╕реЗ рд╣реА рдХреЛрдИ рдФрд░ рдЗрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡реАрдХреГрддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ!

@joshgummersall ,

рдХреНрдпрд╛ рдЖрдк рдкреАрдЖрд░ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕ рдЯрд┐рдХрдЯ рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

@ рд╡рд░реНрдЪреБрдЕрд▓-рдЬреЛрд╢, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рдкреАрдЖрд░ рд╕рдореАрдХреНрд╖рд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ; рдЗрд╕реЗ рдПрдХ рд╕рдореАрдХреНрд╖рдХ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдордВрдЬрд╝реВрд░реА рджреЗ рджреА рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рджреВрд╕рд░реА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реЗ рдкрд┐рдВрдЧ рдХрд░рдирд╛ рд╣реИред

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

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

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

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

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

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

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