diff --git a/packages/kb.gbapp/services/KBService.ts b/packages/kb.gbapp/services/KBService.ts index 16963c4a..143d17f2 100644 --- a/packages/kb.gbapp/services/KBService.ts +++ b/packages/kb.gbapp/services/KBService.ts @@ -388,23 +388,28 @@ export class KBService { html = marked(answer.content); if (channel === 'webchat' && GBConfigService.get('DISABLE_WEB') !== 'true') { - const locale = step.context.activity.locale; - await step.context.sendActivity(Messages[locale].will_answer_projector); - await conversationalService.sendEvent(step, 'play', { - playerType: 'markdown', - data: { - content: html, - answer: answer, - prevId: answer.prevId, - nextId: answer.nextId - } - }); + await this.sendMarkdownToWeb(step, conversationalService, html, answer); } else if (channel === 'whatsapp') { await this.sendMarkdownToMobile(step, answer, conversationalService, min); } } + private async sendMarkdownToWeb(step: GBDialogStep, conversationalService: IGBConversationalService, html: string, answer: GuaribasAnswer) { + const locale = step.context.activity.locale; + await step.context.sendActivity(Messages[locale].will_answer_projector); + html = html.replace(/src\=\"kb\//g, `src=\"../kb/`); + await conversationalService.sendEvent(step, 'play', { + playerType: 'markdown', + data: { + content: html, + answer: answer, + prevId: answer.prevId, + nextId: answer.nextId + } + }); + } + private async sendMarkdownToMobile(step: GBDialogStep, answer: GuaribasAnswer, conversationalService: IGBConversationalService, min: GBMinInstance) { let text = answer.content; diff --git a/src/app.ts b/src/app.ts index 1893d68c..1dce5203 100644 --- a/src/app.ts +++ b/src/app.ts @@ -38,6 +38,8 @@ const express = require('express'); const bodyParser = require('body-parser'); +import * as fs from 'fs'; +var mkdirp = require('mkdirp'); import { GBLog, IGBCoreService, IGBInstance, IGBPackage, GBMinInstance } from 'botlib'; import { GBAdminService } from '../packages/admin.gbapp/services/GBAdminService'; @@ -88,6 +90,14 @@ export class GBServer { server.use(bodyParser.json()); server.use(bodyParser.urlencoded({ extended: true })); + // Creates working directory. + + const workDir = 'workDir'; + if (!fs.existsSync(workDir)){ + mkdirp.sync(workDir); + } + + server.listen(port, () => { (async () => { try {