|
|
Many usefull SNACs contain special block with online user information. This block
allways contain screenname (uin), warning level and number of TLVs in TLV chain.
TLV chain contain additional user information like DC info, status, user class,
idle time, online time, external ip address, account registration time, etc...
Here is the list of SNACs that contain userinfo block: SNAC(03,0B), SNAC(04,07),
SNAC(0E,06), SNAC(01,0F), SNAC(01,10), SNAC(02,06), ... Most of them contain just
three TLVs: user class, idle time, online time.
Note that you may find TLV not listed here in userinfo block. If you have such
new TLV, please send it to author of this documentation. Here is the format of
the online userinfo block (all TLVs are optional):
|
|
xx |
|
byte |
|
screenname (uin) length |
|
xx .. |
|
ascii |
|
screenname (uin) string |
|
xx xx |
|
word |
|
warning level |
|
xx xx |
|
word |
|
number of tlvs in tlv-chain |
|
| |
00 01 |
|
word |
|
TLV.Type(0x01) - user class (nick flags) |
00 04 |
|
word |
|
TLV.Length |
|
|
|
| |
|
| |
00 02 |
|
word |
|
TLV.Type(0x02) - create time |
00 04 |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
create time (unix time_t format) |
|
|
| |
|
| |
00 03 |
|
word |
|
TLV.Type(0x03) - signon time |
00 04 |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
signon time (unix time_t format) |
|
|
| |
|
| |
00 04 |
|
word |
|
TLV.Type(0x04) - idle time |
00 02 |
|
word |
|
TLV.Length |
|
xx xx |
|
word |
|
idle time (in seconds) |
|
|
| |
|
| |
00 05 |
|
word |
|
TLV.Type(0x05) - account creation time (member since) |
00 04 |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
time when this account was registered |
|
|
| |
|
| |
00 06 |
|
word |
|
TLV.Type(0x06) - user status [ICQ only] |
00 04 |
|
word |
|
TLV.Length |
|
|
|
| |
|
| |
00 0A |
|
word |
|
TLV.Type(0x0A) - external ip addr [ICQ only] |
00 04 |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
External ip address |
|
|
| |
|
| |
00 0C |
|
word |
|
TLV.Type(0x0C) - user DC info [ICQ only] |
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 |
|
last info update time |
xx xx xx xx |
|
dword |
|
last ext info update time (i.e. icqphone status) |
xx xx xx xx |
|
dword |
|
last ext status update time (i.e. phonebook) |
xx xx |
|
word |
|
unknown |
|
|
| |
|
| |
00 0D |
|
word |
|
TLV.Type(0x0D) - client capabilities list |
00 04 |
|
word |
|
TLV.Length |
|
|
|
| |
|
| |
00 0F |
|
word |
|
TLV.Type(0x0F) - online time |
00 04 |
|
word |
|
TLV.Length |
|
xx xx xx xx |
|
dword |
|
client online time (in seconds) |
|
|
| |
|
|
|
|
|
|
|
|
|