diff --git a/plugin/thesaurus/chat.go b/plugin/thesaurus/chat.go index 69b2051e..ed95bb9b 100644 --- a/plugin/thesaurus/chat.go +++ b/plugin/thesaurus/chat.go @@ -84,8 +84,20 @@ func init() { engine.OnMessage(zero.OnlyToMe, canmatch(tKIMO)). SetBlock(false).Handle(func(ctx *zero.Ctx) { - r, err := kimoi.Chat(ctx.ExtractPlainText()) - if err == nil && r.Confidence > 0.5 && r.Confidence < 0.95 { + msg := ctx.ExtractPlainText() + r, err := kimoi.Chat(msg) + if err == nil { + c := 0 + for r.Confidence < 0.5 && c < 3 { + r, err = kimoi.Chat(msg) + if err != nil { + return + } + c++ + } + if r.Confidence < 0.5 { + return + } ctx.Block() ctx.SendChain(message.Text(r.Reply)) }