Skip to content

Commit ab3ea04

Browse files
committed
feat(chat): agent cut too long ev raw msgs
1 parent ebb5c08 commit ab3ea04

1 file changed

Lines changed: 19 additions & 2 deletions

File tree

chat/agent.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,23 @@ func togobaev(ev *zero.Event) *goba.Event {
157157
} else {
158158
return nil
159159
}
160+
msgd := ev.NativeMessage
161+
if len(msgd) > 1024 {
162+
msg := message.ParseMessage(msgd)
163+
for _, m := range msg {
164+
for k, v := range m.Data {
165+
if len(v) > 512 {
166+
m.Data[k] = v[:200] + " ... " + v[len(v)-200:]
167+
}
168+
}
169+
}
170+
raw, err := json.Marshal(&msg)
171+
if err != nil {
172+
msgd = []byte(`[]`)
173+
} else {
174+
msgd = raw
175+
}
176+
}
160177
return &goba.Event{
161178
Time: ev.Time,
162179
PostType: ev.PostType,
@@ -174,7 +191,7 @@ func togobaev(ev *zero.Event) *goba.Event {
174191
Flag: ev.Flag,
175192
Comment: ev.Comment,
176193
Sender: ev.Sender,
177-
Message: ev.NativeMessage,
194+
Message: msgd,
178195
}
179196
}
180197

@@ -217,7 +234,7 @@ func logev(ctx *zero.Ctx) {
217234
}
218235
plen := countParamsLength(req.Params)
219236
if plen > 1024 { // skip too long req&resp
220-
logrus.Debugln("[chat] agent", gid, "skip too long requ:", &req)
237+
logrus.Debugln("[chat] agent", gid, "skip too long", plen, "bytes requ:", &req)
221238
return
222239
}
223240
if _, ok := ctx.State[zero.StateKeyPrefixKeep+"_chat_ag_triggered__"]; ok {

0 commit comments

Comments
 (0)