(targetUin uint32, elements []message2.IMessageElement)
| 257 | } |
| 258 | |
| 259 | func (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: |
no test coverage detected