Protocols/OSCAR/Services/BART/Tutorials: Difference between revisions

From NINA Wiki
Jump to navigation Jump to search
(Created page with "{{Protocols/OSCAR}} == 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 fo...")
 
(No difference)

Revision as of 03:11, 27 March 2020

OSCAR Protocol
IntroductionTermsClients
Basic
DatatypesFLAPSNACTLV
UUIDsErrorsTool IDs
Host Interaction
Rate LimitsMigrationMessages
Other Services
ADMINADVERTALERT
BARTBOSBUCPCHAT
CHAT_NAV
Tutorials
Sign OnBARTRendezvous
ICBMLocateBuddies
Foodgroups
OSERVICE (0x0001)
LOCATE (0x0002)
BUDDY (0x0003)
ICBM (0x0004)
ADVERT (0x0005)
INVITE (0x0006)
ADMIN (0x0007)
POPUP (0x0008)
PD (0x0009)
USER_LOOKUP (0x000A)
STATS (0x000B)
TRANSLATE (0x000C)
CHAT_NAV (0x000D)
CHAT (0x000E)
ODIR (0x000F)
BART (0x0010)
FEEDBAG (0x0013)
ICQ (0x0015)
BUCP (0x0017)
ALERT (0x0018)
PLUGIN (0x0022)
UNNAMED_FG_24 (0x0024)
MDIR (0x0025)
ARS (0x044A)


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.

  1. Send a OSERVICE__SERVICE_REQUEST to BOSS with the foodgroup of BART.
  2. Wait for a OSERVICE__SERVICE_RESPONSE from BOSS.
  3. Using the RECONNECT_HERE tag, connect to the BART server.
  4. Using the LOGIN_COOKIE tag send a FLAP SIGNON packet, just like connecting to BOSS.
  5. 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.