From 82df7fd935d0941930a884ff75d45f435e763976 Mon Sep 17 00:00:00 2001 From: Evan Date: Wed, 14 Dec 2022 17:05:04 +0900 Subject: [PATCH] =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=9B=9E=E5=A4=8D=E6=96=87?= =?UTF-8?q?=E5=AD=97=E5=A4=AA=E9=95=BF=E5=B0=B1=E6=88=AA=E5=89=8D4000?= =?UTF-8?q?=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/wechat/wechat_handler.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/handler/wechat/wechat_handler.go b/handler/wechat/wechat_handler.go index 6b8a56a..bc4b96c 100644 --- a/handler/wechat/wechat_handler.go +++ b/handler/wechat/wechat_handler.go @@ -56,10 +56,18 @@ func (gmh *GroupMessageHandler) ReplyText(msg *openwechat.Message) error { reply, err := openai.Completions(requestText) if err != nil { log.Println(err) - text, err := msg.ReplyText(fmt.Sprintf("bot error: %s", err.Error())) - if err != nil { - return err + if reply != nil { + result := *reply + // 如果文字超过4000个字会回错,截取前4000个文字进行回复 + if len(result) > 4000 { + _, err = msg.ReplyText(result[:4000]) + if err != nil { + log.Println("回复出错:", err.Error()) + return err + } + } } + text, err := msg.ReplyText(fmt.Sprintf("bot error: %s", err.Error())) log.Println(text) return err }