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

26 lines
458 B
Go

package tlv
import (
"math/rand"
"time"
"github.com/Mrs4s/MiraiGo/binary"
)
func T1(uin uint32, ip []byte) []byte {
if len(ip) != 4 {
panic("invalid ip")
}
return binary.NewWriterF(func(w *binary.Writer) {
w.WriteUInt16(0x01)
pos := w.FillUInt16()
w.WriteUInt16(1)
w.WriteUInt32(rand.Uint32())
w.WriteUInt32(uin)
w.WriteUInt32(uint32(time.Now().Unix()))
w.Write(ip)
w.WriteUInt16(0)
w.WriteUInt16At(pos, uint16(w.Len()-4))
})
}