var userFields []Field
for _, acc := range cc.Server.Accounts {
- userField := acc.MarshalBinary()
- userFields = append(userFields, NewField(fieldData, userField))
+ b := make([]byte, 0, 100)
+ n, err := acc.Read(b)
+ if err != nil {
+ return res, err
+ }
+
+ userFields = append(userFields, NewField(fieldData, b[:n]))
}
res = append(res, cc.NewReply(t, userFields...))
*cc.Icon = t.GetField(fieldUserIconID).Data
cc.logger = cc.logger.With("name", string(cc.UserName))
+ cc.logger.Infow("Login successful", "clientVersion", fmt.Sprintf("%x", *cc.Version))
options := t.GetField(fieldOptions).Data
optBitmap := big.NewInt(int64(binary.BigEndian.Uint16(options)))
chatID := t.GetField(fieldChatID).Data
chatInt := binary.BigEndian.Uint32(chatID)
- privChat := cc.Server.PrivateChats[chatInt]
+ privChat, ok := cc.Server.PrivateChats[chatInt]
+ if !ok {
+ return res, nil
+ }
delete(privChat.ClientConn, cc.uint16ID())