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

Method SendTempMessage

client/message.go:118–146  ·  view source on GitHub ↗
(groupUin uint32, uin uint32, elements []message2.IMessageElement)

Source from the content-addressed store, hash-verified

116}
117
118func (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
149func (c *QQClient) BuildFakeMessage(msgElems []*message2.ForwardNode) []*message.PushMsgBody {

Callers

nothing calls this directly

Calls 5

SendRawMessageMethod · 0.95
GetCachedGroupInfoMethod · 0.95
GetUIDMethod · 0.95
NickNameMethod · 0.95
RandU32Function · 0.92

Tested by

no test coverage detected