1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 11:07:40 +08:00
源文雨 3e84f279c1
fix: use general write at method (#225)
* fix: use general write at method

* fix: drop WriteShortBufLenExcludeSelfAfterPos
2021-12-23 22:09:04 +08:00

26 lines
468 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().UnixNano() / 1e6))
w.Write(ip)
w.WriteUInt16(0)
w.WriteUInt16At(pos, uint16(w.Len()-4))
})
}