1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 11:07:40 +08:00

client: clean genForwardTemplate argument

This commit is contained in:
wdvxdr 2022-02-23 21:09:08 +08:00
parent fb2d3d28f0
commit e287cbfabd
No known key found for this signature in database
GPG Key ID: 703F8C071DE7A1B6
3 changed files with 24 additions and 6 deletions

View File

@ -293,10 +293,8 @@ func packUniRequestData(data []byte) []byte {
return r return r
} }
func genForwardTemplate(resID, preview, title, brief, source, summary string, ts int64, items []*msg.PbMultiMsgItem) *message.ForwardElement { func genForwardTemplate(resID, preview, summary string, ts int64, items []*msg.PbMultiMsgItem) *message.ForwardElement {
template := fmt.Sprintf(`<?xml version='1.0' encoding='UTF-8'?><msg serviceID="35" templateID="1" action="viewMultiMsg" brief="%s" m_resid="%s" m_fileName="%d" tSum="3" sourceMsgId="0" url="" flag="3" adverSign="0" multiMsgFlag="0"><item layout="1"><title color="#000000" size="34">%s</title> %s<hr></hr><summary size="26" color="#808080">%s</summary></item><source name="%s"></source></msg>`, template := forwardDisplay(resID, strconv.FormatInt(ts, 10), preview, summary)
brief, resID, ts, title, preview, summary, source,
)
for _, item := range items { for _, item := range items {
if item.GetFileName() == "MultiMsg" { if item.GetFileName() == "MultiMsg" {
*item.FileName = strconv.FormatInt(ts, 10) *item.FileName = strconv.FormatInt(ts, 10)

View File

@ -208,7 +208,7 @@ func (c *QQClient) UploadGroupForwardMessage(groupCode int64, m *message.Forward
if err != nil { if err != nil {
continue continue
} }
return genForwardTemplate(rsp.MsgResid, m.Preview(), "群聊的聊天记录", "[聊天记录]", "聊天记录", fmt.Sprintf("查看 %d 条转发消息", m.Length()), ts, items) return genForwardTemplate(rsp.MsgResid, m.Preview(), fmt.Sprintf("查看 %d 条转发消息", m.Length()), ts, items)
} }
return nil return nil
} }

View File

@ -4,6 +4,7 @@ import (
"bytes" "bytes"
"fmt" "fmt"
"math" "math"
"strings"
"time" "time"
"github.com/pkg/errors" "github.com/pkg/errors"
@ -202,9 +203,28 @@ func (c *QQClient) DownloadForwardMessage(resId string) *message.ForwardElement
fmt.Fprintf(&pv, `<title size="26" color="#777777">%s: %s</title>`, sender, brief) fmt.Fprintf(&pv, `<title size="26" color="#777777">%s: %s</title>`, sender, brief)
} }
return genForwardTemplate( return genForwardTemplate(
resId, pv.String(), "群聊的聊天记录", "[聊天记录]", "聊天记录", resId, pv.String(),
fmt.Sprintf("查看 %d 条转发消息", len(multiMsg.Msg)), fmt.Sprintf("查看 %d 条转发消息", len(multiMsg.Msg)),
time.Now().UnixNano(), time.Now().UnixNano(),
multiMsg.PbItemList, multiMsg.PbItemList,
) )
} }
func forwardDisplay(resID, fileName, preview, summary string) string {
sb := strings.Builder{}
sb.WriteString(`<?xml version='1.0' encoding='UTF-8'?><msg serviceID="35" templateID="1" action="viewMultiMsg" brief="[聊天记录]" `)
if resID != "" {
sb.WriteString(`m_resid="`)
sb.WriteString(resID)
sb.WriteString("\" ")
}
sb.WriteString(`m_fileName="`)
sb.WriteString(fileName)
sb.WriteString(`" tSum="3" sourceMsgId="0" url="" flag="3" adverSign="0" multiMsgFlag="0"><item layout="1"><title color="#000000" size="34">群聊的聊天记录</title> `)
sb.WriteString(preview)
sb.WriteString(`<hr></hr><summary size="26" color="#808080">`)
sb.WriteString(summary)
// todo: 私聊的聊天记录?
sb.WriteString(`</summary></item><source name="群聊的聊天记录"></source></msg>`)
return sb.String()
}