Protocols/OSCAR/SNAC/CHAT USERS JOINED: Difference between revisions

From NINA Wiki
Jump to navigation Jump to search
(Created page with "{{Protocols/OSCAR}} {{Protocols/OSCAR/SNAC/Stats |origin={{Protocols/OSCAR/SNAC/CHAT__USERS_JOINED/Origin}} |name=CHAT__USERS_JOINED |id=0x000E, 0x0003 |service={{Protocols/OS...")
 
No edit summary
 
Line 19: Line 19:
=== SNAC Data ===
=== SNAC Data ===
Unconfirmed: This SNAC contains no data
Unconfirmed: This SNAC contains no data
=== From Aleksandr Shutko: SNAC(0E,03) users joined notification SNAC(0E,03) CHAT__USERS_JOINED ===
<table width=640 cellSpacing=0 cellPadding=0 border=0>
<tr>
<td>
<br>
You'll receive this snac when one or more users joins chat room. There are
could be more then one user record in this snac. Each user record contain
user screenname, warning level and a number of user-info TLVs. See also
[[Protocols/OSCAR/Foodgroups/OSERVICE/Datatypes/USERINFO#Datatype:_OSERVICE_USERINFO|additional information]] about online userinfo
block.
<br><br>
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#E9E9E9>
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr>
<td width=169>&nbsp;00 0E</td>
<td width=5>&nbsp;</td>
<td>word</td>
<td width=5>&nbsp;</td>
<td width=58%>SNAC family</td>
</tr>
<tr>
<td>&nbsp;00 03</td>
<td>&nbsp;</td>
<td>word</td>
<td>&nbsp;</td>
<td>SNAC subtype</td>
</tr>
<tr>
<td>&nbsp;00 00</td>
<td>&nbsp;</td>
<td>word</td>
<td>&nbsp;</td>
<td>SNAC flags</td>
</tr>
<tr>
<td>&nbsp;xx xx xx xx</td>
<td>&nbsp;</td>
<td>dword</td>
<td>&nbsp;</td>
<td>SNAC request-id</td>
</tr>
</table>
</td></tr>
<tr><td bgcolor=#E9E9E9>
  <table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=22></td>
  <td width=147>&nbsp;xx</td>
  <td width=5>&nbsp;</td>
  <td>char</td>
  <td width=5>&nbsp;</td>
  <td width=58%>screenname (uin) string length</td>
  </tr>
  <tr>
  <td></td>
  <td>&nbsp;xx ..</td>
  <td>&nbsp;</td>
  <td>string</td>
  <td>&nbsp;</td>
  <td>screenname (uin) string</td>
  </tr>
  <tr>
  <td></td>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>warning level</td>
  </tr>
  <tr>
  <td></td>
  <td>&nbsp;00 03</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>Number of TLV in info-tlvlist</td>
  </tr>
  </table>
<!-- TLV 0x01 -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 01</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x01) - user class</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;xx xx xx xx</td>
  <td width=5>&nbsp;</td>
  <td>dword</td>
  <td width=5>&nbsp;</td>
  <td width=60%>[[Protocols/OSCAR/Foodgroups/OSERVICE/Datatypes/USERINFO#Class:_OSERVICE_USER_FLAGS|User class]]</td>
  </tr>
  </table>
  </td></tr>
  </table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<!-- TLV 0x0F -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 0F</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x0F) - client idle time</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td width=60%>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;xx xx xx xx</td>
  <td width=5>&nbsp;</td>
  <td>dword</td>
  <td width=5>&nbsp;</td>
  <td width=60%>Client idle time (in seconds)</td>
  </tr>
  </table>
</td></tr></table>
</td></tr></table>
</td><td width=5></td></tr>
<tr><td height=5 colspan=3>
</td></tr></table>
<!-- TLV 0x03 -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 03</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x03) - signon time</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;xx xx xx xx</td>
  <td width=5>&nbsp;</td>
  <td>dword</td>
  <td width=5>&nbsp;</td>
  <td width=60%>Time when client gone online (unix time_t)</td>
  </tr>
  </table>
</td></tr></table>
</td></tr></table>
</td><td width=5></td></tr>
<tr><td height=5 colspan=3>
</td></tr></table>
  <table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=22 height=25></td>
  <td width=147 valign=middle>&nbsp;....</td>
  <td width=5>&nbsp;</td>
  <td valign=middle>....</td>
  <td width=5>&nbsp;</td>
  <td valign=middle width=58%>....</td>
  </tr>
  </table>
  <table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=22></td>
  <td width=147>&nbsp;xx</td>
  <td width=5>&nbsp;</td>
  <td>char</td>
  <td width=5>&nbsp;</td>
  <td width=58%>screenname (uin) string length</td>
  </tr>
  <tr>
  <td></td>
  <td>&nbsp;xx ..</td>
  <td>&nbsp;</td>
  <td>string</td>
  <td>&nbsp;</td>
  <td>screenname (uin) string</td>
  </tr>
  <tr>
  <td></td>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>warning level</td>
  </tr>
  <tr>
  <td></td>
  <td>&nbsp;00 03</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>Number of TLV in info-tlvlist</td>
  </tr>
  </table>
<!-- TLV 0x01 -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 01</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x01) - user class</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;xx xx xx xx</td>
  <td width=5>&nbsp;</td>
  <td>dword</td>
  <td width=5>&nbsp;</td>
  <td width=60%>[[Protocols/OSCAR/Foodgroups/OSERVICE/Datatypes/USERINFO#Class:_OSERVICE_USER_FLAGS|User class]]</td>
  </tr>
  </table>
  </td></tr>
  </table>
</td></tr></table>
</td><td width=5> </td>
</tr>
<tr><td height=5 colspan=3> </td></tr>
</table>
<!-- TLV 0x0F -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 0F</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x0F) - client idle time</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td width=60%>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;xx xx xx xx</td>
  <td width=5>&nbsp;</td>
  <td>dword</td>
  <td width=5>&nbsp;</td>
  <td width=60%>Client idle time (in seconds)</td>
  </tr>
  </table>
</td></tr></table>
</td></tr></table>
</td><td width=5></td></tr>
<tr><td height=5 colspan=3>
</td></tr></table>
<!-- TLV 0x03 -->
<table width=640 cellSpacing=0 cellPadding=0 align=center border=0>
<tr><td height=8 colspan=3></td></tr>
<tr><td width=20> </td>
<td>
<table width=610 bgcolor=darkgreen cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 align=center border=0>  <tr><td  bgcolor=#f9f9f9 >
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;00 03</td>
  <td width=5>&nbsp;</td>
  <td>word</td>
  <td width=5>&nbsp;</td>
  <td width=60%>TLV.Type(0x03) - signon time</td>
  </tr>
  <tr>
  <td>&nbsp;xx xx</td>
  <td>&nbsp;</td>
  <td>word</td>
  <td>&nbsp;</td>
  <td>TLV.Length</td>
  </tr>
  </table>
  </td></tr>
  <tr><td bgcolor=#f9f9f9>
  <table width=610 cellSpacing=0 cellPadding=0 align=center border=0>
  <tr>
  <td width=147>&nbsp;xx xx xx xx</td>
  <td width=5>&nbsp;</td>
  <td>dword</td>
  <td width=5>&nbsp;</td>
  <td width=60%>Time when client gone online (unix time_t)</td>
  </tr>
  </table>
</td></tr></table>
</td></tr></table>
</td><td width=5></td></tr>
<tr><td height=5 colspan=3>
</td></tr></table>
</td></tr></table>
</td></tr></table>
</td></tr></table>
<br>Example SNAC dumps with flap header:
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td>
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr>
<td bgcolor=#E9E9E9>
<font size=3><pre style="font-size: 13px">
  2A 02 EE F8 00 32 00 0E 00 03 00 00 9B 7D 97 D8  *....2.......}..
  0D 52 45 41 4C 52 65 67 72 65 73 73 6F 72 00 00  .REALRegressor..
  00 03 00 01 00 02 00 10 00 0F 00 04 00 00 00 01  ................
  00 03 00 04 3E 4C BE 8C                          ........
</pre></font>
</td></tr></table>
</td></tr></table>
[[Category:With_Contrib]]


=== CHAT SNACs ===
=== CHAT SNACs ===

Latest revision as of 02:01, 14 February 2021

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)
ID Origin Name Foodgroup Service Status Version
0x000E, 0x0003 Host CHAT__USERS_JOINED Unspecified CHAT Active 1.10

User or users join room notification.

SNAC Header

Foodgroup uint16 (word) 00 0E
Subgroup uint16 (word) 00 03
Flags uint16 (word) 00 00
Request ID uint32 (dword) 00 00 00 00

SNAC Data

Unconfirmed: This SNAC contains no data

From Aleksandr Shutko: SNAC(0E,03) users joined notification SNAC(0E,03) CHAT__USERS_JOINED


You'll receive this snac when one or more users joins chat room. There are could be more then one user record in this snac. Each user record contain user screenname, warning level and a number of user-info TLVs. See also additional information about online userinfo block.

 00 0E   word   SNAC family
 00 03   word   SNAC subtype
 00 00   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 xx   char   screenname (uin) string length
 xx ..   string   screenname (uin) string
 xx xx   word   warning level
 00 03   word   Number of TLV in info-tlvlist
 00 01   word   TLV.Type(0x01) - user class
 xx xx   word   TLV.Length
 xx xx xx xx   dword   User class
 00 0F   word   TLV.Type(0x0F) - client idle time
 xx xx   word   TLV.Length
 xx xx xx xx   dword   Client idle 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)
 ....   ....   ....
 xx   char   screenname (uin) string length
 xx ..   string   screenname (uin) string
 xx xx   word   warning level
 00 03   word   Number of TLV in info-tlvlist
 00 01   word   TLV.Type(0x01) - user class
 xx xx   word   TLV.Length
 xx xx xx xx   dword   User class
 00 0F   word   TLV.Type(0x0F) - client idle time
 xx xx   word   TLV.Length
 xx xx xx xx   dword   Client idle 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)


Example SNAC dumps with flap header:


  2A 02 EE F8 00 32 00 0E 00 03 00 00 9B 7D 97 D8  *....2.......}..
  0D 52 45 41 4C 52 65 67 72 65 73 73 6F 72 00 00  .REALRegressor..
  00 03 00 01 00 02 00 10 00 0F 00 04 00 00 00 01  ................
  00 03 00 04 3E 4C BE 8C                          ........


CHAT SNACs

SNAC List
Subgroup Origin Name
0x0001 Any CHAT__ERR
This is the error SNAC for the CHAT foodgroup.
0x0002 Host CHAT__ROOM_INFO_UPDATE
Room information update.
0x0003 Host CHAT__USERS_JOINED
User or users join room notification.
0x0004 Host CHAT__USERS_LEFT
User or users left room notification.
0x0005 Client CHAT__CHANNEL_MSG_TOHOST
Channel message from client.
0x0006 Host CHAT__CHANNEL_MSG_TOCLIENT
Channel message to client.
0x0007 Client CHAT__EVIL_REQUEST
Chat evil request.
0x0008 Host CHAT__EVIL_REPLY
Chat evil reply.
0x0009 Any CHAT__CLIENT_ERR
Error from client or host related to chat.
0x000A Host CHAT__PAUSE_ROOM_REQ
Host request to client to pause all SNACs to chat.
0x000B Client CHAT__PAUSE_ROOM_ACK
Client confirmation of CHAT__PAUSE_ROOM_REQ.
0x000C Host CHAT__RESUME_ROOM
Host notification to client to resume SNACs.
0x000D Client CHAT__SHOW_MY_ROW
This is not currently documented. Want to contribute?
0x000E Client CHAT__SHOW_ROW_BY_USERNAME
This is not currently documented. Want to contribute?
0x000F Client CHAT__SHOW_ROW_BY_NUMBER
This is not currently documented. Want to contribute?
0x0010 Client CHAT__SHOW_ROW_BY_NAME
This is not currently documented. Want to contribute?
0x0011 NCD CHAT__ROW_INFO
This is not currently documented. Want to contribute?
0x0012 Client CHAT__LIST_ROWS
This is not currently documented. Want to contribute?
0x0013 NCD CHAT__ROW_LIST_INFO
This is not currently documented. Want to contribute?
0x0014 NCD CHAT__MORE_ROWS
This is not currently documented.
0x0015 Client CHAT__MOVE_TO_ROW
This is not currently documented.
0x0016 Client CHAT__TOGGLE_CHAT
This is not currently documented.
0x0017 Client CHAT__SEND_QUESTION
This is not currently documented.
0x0018 Client CHAT__SEND_COMMENT
This is not currently documented.
0x0019 Client CHAT__TALLY_VOTE
This is not currently documented.
0x001A Client CHAT__ACCEPT_BID
This is not currently documented.
0x001B Client CHAT__SEND_INVITE
This is not currently documented.
0x001C Client CHAT__DECLINE_INVITE
This is not currently documented.
0x001D Client CHAT__ACCEPT_INVITE
This is not currently documented.
0x001E NCD CHAT__NOTIFY_MESSAGE
This is not currently documented.
0x001F NCD CHAT__GOTO_ROW
This is not currently documented.
0x0020 Host CHAT__STAGE_USER_JOIN
This is not currently documented.
0x0021 Host CHAT__STAGE_USER_LEFT
This is not currently documented.
0x0022 NCD CHAT__UNNAMED_SNAC_22
This is not currently documented.
0x0023 NCD CHAT__CLOSE
This is not currently documented.
0x0024 Client CHAT__USER_BAN
This is not currently documented.
0x0025 Client CHAT__USER_UNBAN
This is not currently documented.
0x0026 Host CHAT__JOINED
This is not currently documented.
0x0027 NCD CHAT__UNNAMED_SNAC_27
This is not currently documented.
0x0028 NCD CHAT__UNNAMED_SNAC_28
This is not currently documented.
0x0029 NCD CHAT__UNNAMED_SNAC_29
This is not currently documented.
0x0030 Host CHAT__ROOM_INFO_OWNER
This is not currently documented.