From 45f7034be78dbbe9d127b5791192340d80bd4627 Mon Sep 17 00:00:00 2001 From: ikechan8370 Date: Wed, 8 Mar 2023 17:42:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20sydney=20=E8=B6=85=E6=97=B6=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/SydneyAIClient.js | 56 +++++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 7 deletions(-) diff --git a/utils/SydneyAIClient.js b/utils/SydneyAIClient.js index 1123a3c..9f7ba01 100644 --- a/utils/SydneyAIClient.js +++ b/utils/SydneyAIClient.js @@ -7,7 +7,7 @@ import crypto from 'crypto' import HttpsProxyAgent from 'https-proxy-agent' import { Config } from './config.js' -import {isCN} from "./common.js"; +import { isCN } from './common.js' if (!globalThis.fetch) { globalThis.fetch = fetch @@ -347,9 +347,16 @@ export default class SydneyAIClient { const messageTimeout = setTimeout(() => { this.cleanupWebSocketConnection(ws) if (replySoFar) { - let message = {} - message.adaptiveCards[0].body[0].text = replySoFar - message.text = replySoFar + let message = { + adaptiveCards: [ + { + body: [ + { text: replySoFar } + ] + } + ], + text: replySoFar + } resolve({ message }) @@ -370,8 +377,18 @@ export default class SydneyAIClient { clearTimeout(firstTimeout) this.cleanupWebSocketConnection(ws) if (replySoFar) { + let message = { + adaptiveCards: [ + { + body: [ + { text: replySoFar } + ] + } + ], + text: replySoFar + } resolve({ - message: replySoFar + message }) } else { reject('Request aborted') @@ -400,7 +417,21 @@ export default class SydneyAIClient { if (!messages?.length || messages[0].author !== 'bot') { return } - const message = messages.length ? messages[messages.length - 1] : null + const message = messages.length + ? messages[messages.length - 1] + : { + adaptiveCards: [ + { + body: [ + { text: replySoFar } + ] + } + ], + text: replySoFar + } + resolve({ + message + }) if (messages[0].contentOrigin === 'Apology') { console.log('Apology found') stopTokenFound = true @@ -443,7 +474,18 @@ export default class SydneyAIClient { return } const messages = event.item?.messages || [] - const message = messages.length ? messages[messages.length - 1] : null + const message = messages.length + ? messages[messages.length - 1] + : { + adaptiveCards: [ + { + body: [ + { text: replySoFar } + ] + } + ], + text: replySoFar + } if (!message) { reject('No message was generated.') return