MCPcopy Create free account
hub / github.com/LagrangeDev/LagrangeGo / preProcessPrivateMessage

Method preProcessPrivateMessage

client/message.go:259–320  ·  view source on GitHub ↗
(targetUin uint32, elements []message2.IMessageElement)

Source from the content-addressed store, hash-verified

257}
258
259func (c *QQClient) preProcessPrivateMessage(targetUin uint32, elements []message2.IMessageElement) []message2.IMessageElement {
260 for _, element := range elements {
261 switch elem := element.(type) {
262 case *message2.ImageElement:
263 if elem.MsgInfo != nil {
264 continue
265 }
266 targetUID := c.GetUID(targetUin)
267 _, err := c.UploadPrivateImage(targetUID, elem)
268 if err != nil {
269 c.errorln(err)
270 continue
271 }
272 if elem.MsgInfo == nil {
273 c.errorln("UploadPrivateImage failed")
274 continue
275 }
276 case *message2.VoiceElement:
277 if elem.MsgInfo != nil {
278 continue
279 }
280 targetUID := c.GetUID(targetUin)
281 _, err := c.UploadPrivateRecord(targetUID, elem)
282 if err != nil {
283 c.errorln(err)
284 continue
285 }
286 if elem.MsgInfo == nil {
287 c.errorln("UploadPrivateRecord failed")
288 continue
289 }
290 case *message2.ShortVideoElement:
291 if elem.MsgInfo != nil {
292 continue
293 }
294 targetUID := c.GetUID(targetUin)
295 _, err := c.UploadPrivateVideo(targetUID, elem)
296 if err != nil {
297 c.errorln(err)
298 continue
299 }
300 if elem.MsgInfo == nil {
301 c.errorln("UploadPrivateVideo failed")
302 continue
303 }
304 case *message2.ForwardMessage:
305 if elem.ResID != "" && len(elem.Nodes) == 0 {
306 forward, _ := c.FetchForwardMsg(elem.ResID)
307 elem.SelfID = c.Uin
308 elem.Nodes = forward.Nodes
309 }
310 if elem.ResID == "" && len(elem.Nodes) != 0 {
311 _, err := c.UploadForwardMsg(elem, 0)
312 if err != nil {
313 c.errorln(err)
314 }
315 }
316 default:

Callers 2

SendPrivateMessageMethod · 0.95
BuildFakeMessageMethod · 0.95

Calls 7

GetUIDMethod · 0.95
UploadPrivateImageMethod · 0.95
errorlnMethod · 0.95
UploadPrivateRecordMethod · 0.95
UploadPrivateVideoMethod · 0.95
FetchForwardMsgMethod · 0.95
UploadForwardMsgMethod · 0.95

Tested by

no test coverage detected