From 45ad0c389495624adae04f9e47f9a75214548ec4 Mon Sep 17 00:00:00 2001 From: rodrigorodriguez Date: Wed, 8 Mar 2023 11:17:04 -0300 Subject: [PATCH] fix(basic.gblib): #196 Spellchecker in groups now working. --- package.json | 4 ++-- packages/basic.gblib/index.ts | 7 ++++--- packages/core.gbapp/services/GBMinService.ts | 10 ++++++++++ packages/kb.gbapp/dialogs/AskDialog.ts | 11 +++++------ .../whatsapp.gblib/services/WhatsappDirectLine.ts | 6 +++++- 5 files changed, 26 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index b8e48f1e..bfeed883 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "botframework-connector": "4.18.0", "botlib": "3.0.9", "c3-chart-maker": "0.2.8", - "cd": "^0.3.3", + "cd": "0.3.3", "chatgpt": "2.4.2", "chrome-remote-interface": "0.31.3", "cli-progress": "3.11.2", @@ -143,7 +143,7 @@ "puppeteer": "19.6.3", "puppeteer-extra": "3.3.4", "puppeteer-extra-plugin-stealth": "2.11.1", - "qr-scanner": "^1.4.2", + "qr-scanner": "1.4.2", "qrcode": "1.5.1", "qrcode-terminal": "0.12.0", "readline": "1.3.0", diff --git a/packages/basic.gblib/index.ts b/packages/basic.gblib/index.ts index d7350ee8..ba5f791f 100644 --- a/packages/basic.gblib/index.ts +++ b/packages/basic.gblib/index.ts @@ -45,11 +45,10 @@ import { WebAutomationServices } from './services/WebAutomationServices.js'; import { ImageProcessingServices } from './services/ImageProcessingServices.js'; import { DebuggerService } from './services/DebuggerService.js'; import Koa from 'koa'; -import { createRpcServer, createRpcClient } from '@push-rpc/core'; -import { createHttpKoaMiddleware, createHttpClient } from '@push-rpc/http'; +import { createRpcServer } from '@push-rpc/core'; +import { createHttpKoaMiddleware } from '@push-rpc/http'; import { HttpServerOptions } from '@push-rpc/http/dist/server.js'; import { GBServer } from '../../src/app.js'; -const app = new Koa(); import { SocketServer } from '@push-rpc/core'; import * as koaBody from 'koa-body'; import { GBVMService } from './services/GBVMService.js'; @@ -67,6 +66,8 @@ export function createKoaHttpServer( app.use(koaBody.koaBody({ multipart: true })); app.use(middleware); const server = app.listen(port); + const SERVER_TIMEOUT = 60 * 1000; + server.timeout = SERVER_TIMEOUT; return { onError, diff --git a/packages/core.gbapp/services/GBMinService.ts b/packages/core.gbapp/services/GBMinService.ts index 9dcf4797..7486b44f 100644 --- a/packages/core.gbapp/services/GBMinService.ts +++ b/packages/core.gbapp/services/GBMinService.ts @@ -1319,6 +1319,16 @@ export class GBMinService { text = await min.conversationalService.spellCheck(min, textProcessed); + // If it is a group, spells and sends them back. + + const group = step.context.activity['group']; + if (textProcessed !== text && group){ + await min.whatsAppDirectLine.sendToDevice( + group, + `Spell: ${text}` + ); + } + // Detects user typed language and updates their locale profile if applies. let locale = min.core.getParam( diff --git a/packages/kb.gbapp/dialogs/AskDialog.ts b/packages/kb.gbapp/dialogs/AskDialog.ts index 569cc00d..c2064f74 100644 --- a/packages/kb.gbapp/dialogs/AskDialog.ts +++ b/packages/kb.gbapp/dialogs/AskDialog.ts @@ -214,7 +214,7 @@ export class AskDialog extends IGBDialog { // TODO: https://github.com/GeneralBots/BotServer/issues/9 user.lastQuestion = text; - const resultsA = await service.ask(min.instance, text, searchScore, null /* user.subjects */ ); + const resultsA = await service.ask(min.instance, text, searchScore, null /* user.subjects */); // If there is some result, answer immediately. @@ -224,13 +224,12 @@ export class AskDialog extends IGBDialog { // user.isAsking = false; // user.lastQuestionId = resultsA.questionId; - // Sends the answer to all outputs, including projector. answer = resultsA.answer; // If this search was restricted to some subjects... - } + } // TODO: https://github.com/GeneralBots/BotServer/issues/9 // else if (user.subjects && user.subjects.length > 0) { // // ...second time running Search, now with no filter. @@ -244,7 +243,6 @@ export class AskDialog extends IGBDialog { // // user2.isAsking = false; // // user2.lastQuestionId = resultsB.questionId; - // // Informs user that a broader search will be used. @@ -302,13 +300,14 @@ export class AskDialog extends IGBDialog { }); await GBServer.globals.chatGPT.init(); } + const CHATGPT_TIMEOUT = 60 * 1000; GBLog.info(`ChatGPT being used...`); - const response = await GBServer.globals.chatGPT.sendMessage(text); + const response = await GBServer.globals.chatGPT.sendMessage(text, + { timeoutMs: CHATGPT_TIMEOUT }); if (!response) { GBLog.info(`SEARCH called but NO answer could be found (zero results).`); } else { - await min.conversationalService.sendText(min, step, response); } return await step.replaceDialog('/ask', { isReturning: true }); diff --git a/packages/whatsapp.gblib/services/WhatsappDirectLine.ts b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts index bd2c020f..035346fe 100644 --- a/packages/whatsapp.gblib/services/WhatsappDirectLine.ts +++ b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts @@ -1019,9 +1019,13 @@ export class WhatsappDirectLine extends GBService { await (activeMin as any).whatsAppDirectLine.received(req, res); return; // EXIT HERE. } + else + { + GBLog.warn(`Group: ${group} not associated with botId:${botId}.`); + } } - // Detects if the welcome message is enabled. + // Detects if the welcome message is enabled.z if (process.env.WHATSAPP_WELCOME_DISABLED !== 'true') { // Tries to find if user wants to switch bots.