Room PushesΒΆ
Room pushes will happen whenever:
- A room changes name, privacy, or archived state
- A new room is added to the group
- A room is removed from the group.
Clients should return a normal IQ response when sent a room push to confirm that they received the push.
Room deletes will contain a status attribute set to deleted:
<!-- Room deleted -->
<iq to='1_2@chat.hipchat.com' type='set'>
<query xmlns='http://hipchat.com/protocol/muc#room'>
<item status='deleted' jid='1_test_room@conf.hipchat.com'/>
</query>
</iq>
If a room has been added or changed, its push will contain the room’s metadata on the item element:
<!-- Room added or changed -->
<iq to='1_2@chat.hipchat.com' type='set'>
<query xmlns='http://hipchat.com/protocol/muc#room'>
<item jid='1_test_room@conf.hipchat.com' name='Test Room'>
<id>2</id>
<topic>O hai</topic>
<privacy>private</privacy>
<owner>1_2@chat.hipchat.com</owner>
<guest_url/>
<num_participants>0</num_participants>
</item>
</query>
</iq>
If a room has been archived it will appear exactly like a normal modification, except that it will include an is_archived element:
<!-- Room archived -->
<iq to='1_1@chat.hipchat.com' type='set'>
<query xmlns='http://hipchat.com/protocol/muc#room'>
<item jid='1_some_room@conf.hipchat.com' name='Some room'>
<id>3</id>
<topic>Wat</topic>
<privacy>public</privacy>
<owner>1_1@chat.hipchat.com</owner>
<guest_url/>
<num_participants>1</num_participants>
<is_archived/>
<last_active>1406243278</last_active>
</item>
</query>
</iq>