fix(core.gbapp): MSFT translator fixes and auto-start twice fixed.

This commit is contained in:
Rodrigo Rodriguez 2020-12-22 13:27:50 -03:00
parent bd965913fe
commit 81a0fdd5d0
2 changed files with 30 additions and 27 deletions

View file

@ -676,11 +676,13 @@ export class GBConversationalService {
if (!key) {
return process.env.DEFAULT_USER_LANGUAGE;
}
return await AzureText.getLocale(
let language = await AzureText.getLocale(
key,
min.core.getParam<string>(min.instance, 'textAnalyticsEndpoint', null),
text
);
return language === '(Unknown)' ? 'en' : language;
}
public async spellCheck(min: GBMinInstance, text: string): Promise<string> {

View file

@ -197,6 +197,7 @@ export class GBMinService {
await (activeMin as any).whatsAppDirectLine.resetConversationId(id);
let startDialog = activeMin.core.getParam(activeMin.instance, 'Start Dialog', null);
GBLog.info(`Auto start dialog is now being called: ${startDialog}...`);
if (startDialog) {
@ -634,6 +635,7 @@ export class GBMinService {
user.loaded = true;
user.subjects = [];
user.cb = undefined;
user.welcomed = false;
if (context.activity.from.id !== min.botId) {
const member = context.activity.from;
@ -676,8 +678,8 @@ export class GBMinService {
} else {
const startDialog = min.core.getParam(min.instance, 'Start Dialog', null);
if (startDialog)
{
if (startDialog && !user.welcomed) {
user.welcomed = true;
GBLog.info(`Auto start dialog is now being called: ${startDialog}...`);
await GBVMService.callVM(startDialog.toLowerCase(), min, step, this.deployer);
}
@ -754,7 +756,7 @@ export class GBMinService {
if (user) {
if (!user.conversation){
if (!user.conversation) {
user.conversation = await analytics.createConversation(user.systemUser);
}
@ -921,27 +923,26 @@ export class GBMinService {
} else {
// Checks if any .gbapp will handle this answer, if not goes to standard kb.gbapp.
let handled = false;
let nextDialog = null;
await CollectionUtil.asyncForEach(min.appPackages, async (e: IGBPackage) => {
if (
await e.onExchangeData(min, 'handleAnswer', {
query: text,
step: step,
notTranslatedQuery: originalText,
message: message ? message['dataValues'] : null,
user: user ? user['dataValues'] : null
})
) {
handled = true;
}
});
if (!handled) {
await step.beginDialog('/answer', {
nextDialog = await e.onExchangeData(min, 'handleAnswer', {
query: text,
user: user ? user['dataValues'] : null,
message: message
step: step,
notTranslatedQuery: originalText,
message: message ? message['dataValues'] : null,
user: user ? user['dataValues'] : null
});
}
});
await step.beginDialog(nextDialog ? nextDialog : '/answer', {
query: text,
user: user ? user['dataValues'] : null,
message: message
});
}
}
}