Server sends this snac when user from your contact list goes online.
Also you'll receive this snac on user status change (in this case snac doesn't
contain TLV(0xC)). See also additional
information about online userinfo block.
For those who don't know what "UNIX time_t" format is, it's the format used to
represent times as unsigned long's in UNIX and some DOS-based libc's. It's simply
the number of seconds elapsed from the 01 January 1970 00:00:00 UTC. (This is often
referred to as "the UNIX epoch".) Both of the times in this command (at positions
27 and 35) are stored in this format (and yes, these will fail because of the
y2.048k bug).
00 03 |
|
word |
|
SNAC family |
00 0B |
|
word |
|
SNAC subtype |
00 00 |
|
word |
|
SNAC flags |
xx xx xx xx |
|
dword |
|
SNAC request-id |
|
Following user info may be repeated more then once
|
xx |
|
char |
|
uin string length |
xx .. |
|
string |
|
uin string |
xx xx |
|
word |
|
warning level (unused in ICQ) |
xx xx |
|
word |
|
Number of TLV in info-tlvlist |
|
|
00 01 |
|
word |
|
TLV.Type(0x01) - user class |
xx xx |
|
word |
|
TLV.Length |
|
|
|
| |
|
|
|
00 0C |
|
word |
|
TLV.Type(0x0C) - dc info (optional) |
00 25 |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
DC internal ip address |
xx xx xx xx |
|
dword |
|
DC tcp port |
xx |
|
byte |
|
DC type |
xx xx |
|
word |
|
DC protocol version |
xx xx xx xx |
|
dword |
|
DC auth cookie |
xx xx xx xx |
|
dword |
|
Web front port |
00 00 00 03 |
|
dword |
|
Client futures |
xx xx xx xx |
|
dword |
|
(id=1) last info update time (unix time_t) |
xx xx xx xx |
|
dword |
|
(id=2) last ext info update time (i.e. icqphone status) |
xx xx xx xx |
|
dword |
|
(id=3) last ext status update time (i.e. phonebook) |
xx xx |
|
word |
|
unknown |
|
|
| |
|
|
|
00 0A |
|
word |
|
TLV.Type(0x0A) - external ip address |
xx xx |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
External client ip address |
|
|
| |
|
|
|
00 06 |
|
word |
|
TLV.Type(0x06) - user status |
xx xx |
|
word |
|
TLV.Length |
|
|
|
| |
|
|
|
00 0D |
|
word |
|
TLV.Type(0x0D) - user capabilities |
xx xx |
|
word |
|
TLV.Length |
|
|
|
| |
|
|
|
00 0F |
|
word |
|
TLV.Type(0x0F) - online time |
xx xx |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
Client online time (in seconds) |
|
|
| |
|
|
|
00 03 |
|
word |
|
TLV.Type(0x03) - signon time |
xx xx |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
Time when client gone online (unix time_t) |
|
|
| |
|
|
|
00 05 |
|
word |
|
TLV.Type(0x05) - member since |
xx xx |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
Time when this account was registered |
|
|
| |
|
|
|
00 11 |
|
word |
|
TLV.Type(0x11) - times updated |
xx xx |
|
word |
|
TLV.Length |
|
xx |
|
byte |
|
updated time id (1,2,3) - see above in TLV(0xC) |
xx xx xx xx |
|
dword |
|
updated time value |
... |
|
... |
|
... |
xx |
|
byte |
|
updated time id (1,2,3) |
xx xx xx xx |
|
dword |
|
updated time value |
|
|
| |
|
|
|
00 19 |
|
word |
|
TLV.Type(0x19) - new-style capabilities list |
xx xx |
|
word |
|
TLV.Length |
|
|
|
| |
|
|
|
00 1D |
|
word |
|
TLV.Type(0x1D) - user icon id & hash |
xx xx |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
User icon (avatar) id |
xx |
|
byte |
|
User icon (avatar) flags |
xx |
|
byte |
|
User icon hash length (allways 16) |
xx .. xx |
|
array |
|
User icon md5 hash |
|
|
| |
|
|
|
|
|
|
|