Getting a User's Buddy Icon
Step #1 - Finding the icon for a user
First the client will need to discover what the Buddy icon BART ID is for the user. Depending on display, the client will want to look inside the USERINFO for either the ICBM__CHANNEL_MSG_TOCLIENT SNAC or BUDDY__ARRIVED SNAC. The USERINFO will contain an array of BART IDs and the client should select the one with the BART__ID_TYPES Class for which it is looking.
Step #2 - Connecting to BART
If the client is not already connected to the BART server it will need to do so.
- Send a OSERVICE__SERVICE_REQUEST to BOSS with the foodgroup of BART.
- Wait for a OSERVICE__SERVICE_RESPONSE from BOSS.
- Using the RECONNECT_HERE tag, connect to the BART server.
- Using the LOGIN_COOKIE tag send a FLAP SIGNON packet, just like connecting to BOSS.
- Send a OSERVICE__CLIENT_ONLINE SNAC to the BART server.
Step #3 - Downloading from BART
Once connected to BART, use the BART__DOWNLOAD2_QUERY SNAC to download as many assets as required.
Step #4 - Display Icon
Display the image.
From Aleksandr Shutko: Upload icon sequence example dump
Upload icon sequence example dump |
|
|
|
|
|
// [BOS] Client command: add icon md5 hash item type=0x14 to ssi
2A 02 12 AA 00 2F 00 13 00 08 00 00 3E C9 00 08 *..../......>...
00 01 31 00 00 18 13 00 14 00 1A 00 D5 00 12 01 ..1.............
10 EC 7B 60 67 CF D1 01 99 0C BD 33 F9 00 FC 4B ..{`g......3...K
9B 01 31 00 00 ..1..
// [BOS] Server ack - success
2A 02 26 04 00 14 00 13 00 0E 80 00 3E C9 00 08 *.&.........>...
00 06 00 01 00 02 00 04 00 00 ..........
// [BOS] Server ext status - command to start upload (flags=0x41)
2A 02 26 05 00 26 00 01 00 21 80 00 C8 48 FF FB *.&..&...!...H..
00 06 00 01 00 02 00 04 00 01 41 10 EC 7B 60 67 ..........A..{`g
CF D1 01 99 0C BD 33 F9 00 FC 4B 9B ......3...K.
-------------------------------------------------------------------
// Client request and setup SSBI service connection
// [SSBI] Icon upload request
2A 02 01 0C 16 19 00 10 00 02 00 00 77 C3 00 02 *...........w...
00 01 16 0B FF D8 FF E0 00 10 4A 46 49 46 00 01 ..........JFIF..
01 01 00 60 00 60 00 00 FF DB 00 43 00 01 01 01 ...`.`.....C....
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
01 01 01 01 01 01 01 01 01 01 01 01 01 FF DB 00 ................
43 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 C...............
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
...........
AF 62 78 7B CD DA 35 E2 AE 92 55 27 4A 13 49 72 .bx{..5...U'J.Ir
2F 7A 0E B5 E3 27 76 DC 5D 9A D9 A4 EE 8C 28 E4 /z...'v.].....(.
B8 BA 94 A9 CE 58 8C B9 4A 51 8B 92 78 C4 DF 35 .....X..JQ..x..5
A3 CC EE A9 C9 35 74 DA 92 94 94 92 52 52 69 A6 .....5t.....RRi.
7F FF D9 ...
// [SSBI] Server upload result reply - success
2A 02 B9 0A 00 1F 00 10 00 03 00 00 77 C3 00 02 *...........w...
00 00 01 01 10 EC 7B 60 67 CF D1 01 99 0C BD 33 ......{`g......3
F9 00 FC 4B 9B ...K.
-------------------------------------------------------------------
// [BOS] Server ext status notification
2A 02 26 07 00 26 00 01 00 21 80 00 C8 49 4C 87 *.&..&...!...IL.
00 06 00 01 00 02 00 04 00 01 01 10 EC 7B 60 67 .............{`g
CF D1 01 99 0C BD 33 F9 00 FC 4B 9B ......3...K.
| |
|
|
|
|
Download
From Aleksandr Shutko: Download icon sequence example dump
Download icon sequence example dump |
|
|
|
|
|
// User 348934774 status notification from server with TLV(0x1D)
2A 02 26 0D 00 CF 00 03 00 0B 00 00 C8 4B 72 3D *.&..........Kr=
09 33 34 38 39 33 34 37 37 34 00 00 00 09 00 01 .348934774......
00 02 00 50 00 0C 00 25 00 00 00 00 00 00 00 00 ...P...%........
04 00 09 CD A9 3C 4C 00 00 7C 0F 00 00 00 01 00 .....<L..|......
00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 ................
04 00 00 00 00 00 06 00 04 10 00 00 00 00 19 00 ................
08 13 49 13 4C 13 4E 13 44 00 0D 00 40 56 3F C8 ..I.L.N.D...@V?.
09 0B 6F 41 BD 9F 79 42 26 09 DF A2 F3 17 8C 2D ..oA..yB&......-
9B DA A5 45 BB 8D DB F3 BD BD 53 A1 0A 97 B1 27 ...E......S....'
51 24 3C 43 34 AD 22 D6 AB F7 3F 14 92 1A 09 3C Q$<C4."...?....<
6C D7 FD 4E C5 9D 51 A6 47 4E 34 F5 A0 00 0F 00 l..N..Q.GN4.....
04 00 00 03 AE 00 1D 00 14 00 01 01 10 0B 56 66 ..............Vf
D6 16 5E 31 75 20 8D 3F 0C 38 38 87 4C 00 03 00 ..^1u .?.88.L...
04 41 EC 78 5A .A.xZ
-------------------------------------------------------------------
// Client request and setup SSBI service connection
// Client request user 348934774 icon from server - SNAC(10,06)
2A 02 01 0D 00 29 00 10 00 06 00 00 2A 95 00 06 *....)......*...
09 33 34 38 39 33 34 37 37 34 01 00 01 01 10 0B .348934774......
56 66 D6 16 5E 31 75 20 8D 3F 0C 38 38 87 4C Vf..^1u .?.88.L
// User 348934774 icon reply from server - SNAC(10,07)
2A 02 B9 0B 13 BC 00 10 00 07 00 00 2A 95 00 06 *...........*...
09 33 34 38 39 33 34 37 37 34 00 01 01 10 0B 56 .348934774.....V
66 D6 16 5E 31 75 20 8D 3F 0C 38 38 87 4C 00 00 f..^1u .?.88.L..
01 01 10 0B 56 66 D6 16 5E 31 75 20 8D 3F 0C 38 ....Vf..^1u .?.8
38 87 4C 13 7D FF D8 FF E0 00 10 4A 46 49 46 00 8.L.}......JFIF.
01 01 01 00 60 00 60 00 00 FF DB 00 43 00 01 01 ....`.`.....C...
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
01 01 01 01 01 01 01 01 01 01 01 01 01 01 FF DB ................
00 43 01 01 01 01 01 01 01 01 01 01 01 01 01 01 .C..............
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ................
...........
50 7F 9B 0A 2A 55 8B 72 A9 5C B6 41 DD F2 37 CA P...*U.r.\.A..7.
72 40 5C 83 86 CA 85 6C 8F EF 63 B5 14 F9 E3 7B r@\....l..c....{
5F AD BA 2E A9 75 D7 AF E6 D7 40 51 6D 27 CB 17 _....u....@Qm'..
EA DF 75 DA 5F D6 BD 8F FF D9 ..u._.....
| |
|
|
|
|