(groupUin uint32, uin uint32, elements []message2.IMessageElement)
| 116 | } |
| 117 | |
| 118 | func (c *QQClient) SendTempMessage(groupUin uint32, uin uint32, elements []message2.IMessageElement) (*message2.TempMessage, error) { |
| 119 | body := message2.PackElementsToBody(elements) |
| 120 | route := &message.RoutingHead{ |
| 121 | GrpTmp: &message.GrpTmp{ |
| 122 | GroupUin: proto.Some(groupUin), |
| 123 | ToUin: proto.Some(uin), |
| 124 | }, |
| 125 | } |
| 126 | mr := crypto.RandU32() |
| 127 | ret, _, err := c.SendRawMessage(route, body, mr) |
| 128 | if err != nil || ret.PrivateSequence == 0 { |
| 129 | return nil, err |
| 130 | } |
| 131 | group := c.GetCachedGroupInfo(groupUin) |
| 132 | resp := &message2.TempMessage{ |
| 133 | ID: ret.PrivateSequence, |
| 134 | GroupUin: groupUin, |
| 135 | GroupName: group.GroupName, |
| 136 | Self: c.Uin, |
| 137 | Sender: &message2.Sender{ |
| 138 | Uin: c.Uin, |
| 139 | UID: c.GetUID(c.Uin), |
| 140 | Nickname: c.NickName(), |
| 141 | IsFriend: true, |
| 142 | }, |
| 143 | Elements: elements, |
| 144 | } |
| 145 | return resp, nil |
| 146 | } |
| 147 | |
| 148 | // BuildFakeMessage make a fake message |
| 149 | func (c *QQClient) BuildFakeMessage(msgElems []*message2.ForwardNode) []*message.PushMsgBody { |
nothing calls this directly
no test coverage detected