From 1d316ef83b5ab396eff88e6bc8c03e234a0dd617 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Fri, 5 Jun 2020 14:40:21 -0300 Subject: [PATCH] fix(core.gbapp): BASIC fixed on WhatsApp channel. --- packages/core.gbapp/services/GBVMService.ts | 1 + packages/kb.gbapp/dialogs/AskDialog.ts | 4 ++-- packages/kb.gbapp/services/KBService.ts | 10 ++++++---- packages/whatsapp.gblib/services/WhatsappDirectLine.ts | 7 ++++--- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/core.gbapp/services/GBVMService.ts b/packages/core.gbapp/services/GBVMService.ts index 53714382..c8cedaf0 100644 --- a/packages/core.gbapp/services/GBVMService.ts +++ b/packages/core.gbapp/services/GBVMService.ts @@ -349,6 +349,7 @@ export class GBVMService extends GBService { step.activeDialog.state.options = {}; step.activeDialog.state.options.cbId = (step.options as any).id; step.activeDialog.state.options.previousResolve = (step.options as any).previousResolve; + GBLog.info('BASIC: Asking for input (HEAR).'); return await min.conversationalService.prompt(min, step, null); }, async step => { diff --git a/packages/kb.gbapp/dialogs/AskDialog.ts b/packages/kb.gbapp/dialogs/AskDialog.ts index 3e0cc025..ba0bae15 100644 --- a/packages/kb.gbapp/dialogs/AskDialog.ts +++ b/packages/kb.gbapp/dialogs/AskDialog.ts @@ -236,12 +236,12 @@ export class AskDialog extends IGBDialog { if (answer.content.endsWith('.docx')) { const mainName = answer.content.replace(/\s|\-/gi, '').split('.')[0]; - await GBMinService.callVM(mainName, min, step); + return await GBMinService.callVM(mainName, min, step); } else { await service.sendAnswer(min, AskDialog.getChannel(step), step, answer); + return await step.replaceDialog('/ask', { isReturning: true }); } - return await step.replaceDialog('/ask', { isReturning: true }); } diff --git a/packages/kb.gbapp/services/KBService.ts b/packages/kb.gbapp/services/KBService.ts index ac7b4926..4d3b3093 100644 --- a/packages/kb.gbapp/services/KBService.ts +++ b/packages/kb.gbapp/services/KBService.ts @@ -409,7 +409,7 @@ export class KBService implements IGBKBService { // Calls language translator. - let text = await min.conversationalService.translate(min, + let text = await min.conversationalService.translate(min, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint, answer.content, @@ -431,8 +431,10 @@ export class KBService implements IGBKBService { }); // MSFT Translator breaks markdown, so we need to fix it: - text = text.replace('! [', '![').replace('] (',']('); - + + text = text.replace('! [', '![').replace('] (', ']('); + text = text.replace(`[[embed url=`, process.env.BOT_URL + '/').replace(']]', ''); // TODO: Improve it. + const html = marked(text); // According to the channel, formats the output optimized to it. @@ -457,7 +459,7 @@ export class KBService implements IGBKBService { const user = await sec.ensureUser(min.instance.instanceId, member.id, member.name, "", "web", member.name); const minBoot = GBServer.globals.minBoot as any; - html = await min.conversationalService.translate(min, + html = await min.conversationalService.translate(min, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint, html, diff --git a/packages/whatsapp.gblib/services/WhatsappDirectLine.ts b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts index 3bb9506c..85a36e4d 100644 --- a/packages/whatsapp.gblib/services/WhatsappDirectLine.ts +++ b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts @@ -418,7 +418,7 @@ export class WhatsappDirectLine extends GBService { public async sendToDeviceEx(to, msg, locale) { const minBoot = GBServer.globals.minBoot as any; - const text = await this.min.conversationalService.translate(this.min, + const text = await this.min.conversationalService.translate(this.min, this.min.instance.translatorKey ? this.min.instance.translatorKey : minBoot.instance.translatorKey, this.min.instance.translatorEndpoint ? this.min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint, msg, @@ -427,14 +427,15 @@ export class WhatsappDirectLine extends GBService { await this.sendToDevice(to, text); } + public async sendToDevice(to, msg) { const cmd = '/audio '; if (msg.startsWith(cmd)) { msg = msg.substr(cmd.length); + return await this.sendTextAsAudioToDevice(to, msg); - } - else { + } else { const options = { method: 'POST',