From 49e3995129f6adb04445c31951ba07c3cca2b9aa Mon Sep 17 00:00:00 2001 From: Mrs4s Date: Sat, 5 Sep 2020 08:02:31 +0800 Subject: [PATCH] move reply pos. close #220 --- coolq/cqcode.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/coolq/cqcode.go b/coolq/cqcode.go index 0183c30..323d8ba 100644 --- a/coolq/cqcode.go +++ b/coolq/cqcode.go @@ -32,6 +32,17 @@ func ToArrayMessage(e []message.IMessageElement, code int64, raw ...bool) (r []M if len(raw) != 0 { ur = raw[0] } + m := &message.SendingMessage{Elements: e} + reply := m.FirstOrNil(func(e message.IMessageElement) bool { + _, ok := e.(*message.ReplyElement) + return ok + }) + if reply != nil { + r = append(r, MSG{ + "type": "reply", + "data": map[string]string{"id": fmt.Sprint(ToGlobalId(code, o.ReplySeq))}, + }) + } for _, elem := range e { m := MSG{} switch o := elem.(type) { @@ -52,11 +63,6 @@ func ToArrayMessage(e []message.IMessageElement, code int64, raw ...bool) (r []M "data": map[string]string{"qq": fmt.Sprint(o.Target)}, } } - case *message.ReplyElement: - m = MSG{ - "type": "reply", - "data": map[string]string{"id": fmt.Sprint(ToGlobalId(code, o.ReplySeq))}, - } case *message.ForwardElement: m = MSG{ "type": "forward",