|
@@ -44,20 +44,21 @@ func (m *WsChat) Handle(ws *ghttp.WebSocket, msg []byte) {
|
|
|
PersonId: jSession.PositionId,
|
|
|
CreateTime: time.Now().Format(date.Date_Full_Layout),
|
|
|
})
|
|
|
- // 校验是否在黑名单,黑名单不返回内容
|
|
|
- if UserBlackList.CheckBlackList(m.Ctx, jSession.PositionId) {
|
|
|
- return "", 0, nil
|
|
|
- }
|
|
|
+
|
|
|
var err error
|
|
|
reply, from := "", 0
|
|
|
errReply := func() string {
|
|
|
+ // 校验是否在黑名单,黑名单不返回内容
|
|
|
+ if UserBlackList.CheckBlackList(m.Ctx, jSession.PositionId) {
|
|
|
+ return g.Cfg().MustGet(m.Ctx, "limit.blackMsg").String()
|
|
|
+ }
|
|
|
// 校验问答频率
|
|
|
if ChatLimit.GetBucket(m.Ctx, jSession.PositionId).TakeAvailable(1) == 0 {
|
|
|
return g.Cfg().MustGet(m.Ctx, "limit.exceedMsg").String()
|
|
|
}
|
|
|
// 问题敏感词过滤
|
|
|
if fsw.Match(req.Prompt) {
|
|
|
- return g.Cfg().MustGet(m.Ctx, "limit.fswMsg", "您的问题可能包含敏感词汇,请修改后再提问!").String()
|
|
|
+ return g.Cfg().MustGet(m.Ctx, "limit.fswMsg").String()
|
|
|
}
|
|
|
return ""
|
|
|
}()
|
|
@@ -67,7 +68,7 @@ func (m *WsChat) Handle(ws *ghttp.WebSocket, msg []byte) {
|
|
|
reply, from, err = Question.DetailQuestion(m.Ctx, req)
|
|
|
if err != nil {
|
|
|
g.Log().Error(m.Ctx, "问答异常", err)
|
|
|
- return "", 0, fmt.Errorf("问答异常")
|
|
|
+ return "", 0, fmt.Errorf(g.Cfg().MustGet(m.Ctx, "limit.errMsg").String())
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -84,7 +85,6 @@ func (m *WsChat) Handle(ws *ghttp.WebSocket, msg []byte) {
|
|
|
if replyId <= 0 {
|
|
|
g.Log().Error(m.Ctx, "问答存储存储异常")
|
|
|
}
|
|
|
-
|
|
|
return reply, replyId, nil
|
|
|
}()
|
|
|
|