рдЖрднрд╛рд╕реА рд╕рд╣рд╛рдпрдХ рдФрд░ рдХреМрд╢рд▓
рдЯрд╛рдЗрдкрдкреНрд░рддрд┐
рдЬрдм рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ (рдЙрджрд╛. 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 рд╕рд╣реА рднрд╛рд╖рд╛ рдФрд░ рд╕рд╣реА рдиреЙрд▓реЗрдЬ рдмреЗрд╕ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдзрдиреНрдпрд╡рд╛рдж @ tommyJimmy87ред рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛, рд╣рдо рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗ!
рд╣рд╛рдп @ tommyJimmy87 , рд╣рдордиреЗ рдкреАрдЖрд░ #3559 рдмрдирд╛рдпрд╛ рдЬреЛ рдмреЙрдЯреНрд╕ рдореЗрдВ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ ред
рдпрджрд┐ рдЖрдк рдЗрддрдиреЗ рджрдпрд╛рд▓реБ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрди рд░реЗрдкреНрд░реЛ рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ рдФрд░ рдЗрд╕ рд╢рд╛рдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
npm install
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВnpm run build
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВnpm pack
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ package.json рдореЗрдВ рдмрдирд╛рдП рдЧрдП tgz рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░реЗрдВ:
"рдмреЙрдЯ-рд╕рдорд╛рдзрд╛рди": "рдкрд╛рде рдЯреВ рдмреАрдУрдЯреА-рд╕реЙрд▓реНрдпреВрд╢рди рдЯреАрдЬреАрдЬреЗрдб"
рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЛ рдмрд╣реБ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рддреИрдирд╛рдд рдХрд░реЗрдВ
QnAMakerDialog
рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдкреАрдЖрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
inversifyjs
рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд╣рдо рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рдкреНрд░рддрд┐ рдЪреМрдХрд╕ рд░рд╣реЗрдВрдЧреЗ .
рд╣рд╛рдп @ рдмрдЯреНрдЯрд╛32 ,
рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдИ рдмреЙрдЯ-рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ :) рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрдм рдЬрд╛рд░реА рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?
рд╣рд╛рдп @ рдмрдЯреНрдЯрд╛32 , рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЬрдм рдореИрдВ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ: TypeError: Reflect.hasOwnMetadata is not a function
ред
рдХреНрдпрд╛ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрдирд╡рд░реНрд╕рд┐рдлрд╝рд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛?
рдзрдиреНрдпрд╡рд╛рдж @ tommyJimmy87! рд╣рдо рдЗрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЬреИрд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдХрд╛ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реЛрдЧрд╛, рд╣рдо рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрдПрдВрдЧреЗред
рдирдорд╕реНрддреЗ @ рдмрдЯреНрдЯрд╛32 , рд╣рдордиреЗ рдЗрд╕ рдЖрдпрд╛рдд рдХреЛ рдкрд░реАрдХреНрд╖рдг рдЖрдзрд╛рд░ рдЬреЗрдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛: require('reflect-metadata');
рд╣рд╛рдп @ tommyJimmy87 - рд╣рдо рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ред
рд╣рдо рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЖрдП:
рдпрд╣ рд╣рдорд╛рд░рд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╣реИ :
feature/southworks/dependency-injection-implementation
рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдФрд░ рд╕реНрдХрд┐рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрджрдо рдЙрдард╛рдП:
npm install
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВnpm run build
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВnpm pack
. рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП .tgz
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ.tgz
рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд░реЗрдВредnpm install
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВnpm run build
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВnpm run test
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрд╣рд╛рдп @ 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 ,
рдХреНрдпрд╛ рдЖрдк рдкреАрдЖрд░ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕ рдЯрд┐рдХрдЯ рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?
@ рд╡рд░реНрдЪреБрдЕрд▓-рдЬреЛрд╢, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рдкреАрдЖрд░ рд╕рдореАрдХреНрд╖рд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ; рдЗрд╕реЗ рдПрдХ рд╕рдореАрдХреНрд╖рдХ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдордВрдЬрд╝реВрд░реА рджреЗ рджреА рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рджреВрд╕рд░реА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реЗ рдкрд┐рдВрдЧ рдХрд░рдирд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рд╛рдп @ рдмрдЯреНрдЯрд╛32 ,
рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдИ рдмреЙрдЯ-рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ :) рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрдм рдЬрд╛рд░реА рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?