1

asmack で (ルームに参加せずに) 詳細なルーム情報 (占有者数、ルームの件名など) を取得するにはどうすればよいですか? disco#info プロトコルを使用してサーバーにパケットを送信する getRoomInfo() メソッドを使用しています。

<iq from='hag66@shakespeare.lit/pda'
    id='ik3vs715'
    to='coven@chat.shakespeare.lit'
    type='get'>
  <query xmlns='http://jabber.org/protocol/disco#info'/>
</iq>

問題は、追加情報なしで標準パケットを受信して​​いることです。

<iq from='coven@chat.shakespeare.lit'
    id='ik3vs715'
    to='hag66@shakespeare.lit/pda'
    type='result'>
  <query xmlns='http://jabber.org/protocol/disco#info'>
    <identity
        category='conference'
        name='A Dark Cave'
        type='text'/>
    <feature var='http://jabber.org/protocol/muc'/>
    <feature var='muc_passwordprotected'/>
    <feature var='muc_hidden'/>
    <feature var='muc_temporary'/>
    <feature var='muc_open'/>
    <feature var='muc_unmoderated'/>
    <feature var='muc_nonanonymous'/>
  </query>
</iq>

受信したいパケット (追加情報付き) は、例のようになります。

<iq from='coven@chat.shakespeare.lit'
    id='ik3vs715'
    to='hag66@shakespeare.lit/pda'
    type='result'>
  <query xmlns='http://jabber.org/protocol/disco#info'>
    <identity
        category='conference'
        name='A Dark Cave'
        type='text'/>
    <feature var='http://jabber.org/protocol/muc'/>
    <feature var='muc_passwordprotected'/>
    <feature var='muc_hidden'/>
    <feature var='muc_temporary'/>
    <feature var='muc_open'/>
    <feature var='muc_unmoderated'/>
    <feature var='muc_nonanonymous'/>
    <x xmlns='jabber:x:data' type='result'>
      <field var='FORM_TYPE' type='hidden'>
        <value>http://jabber.org/protocol/muc#roominfo</value>
      </field>
      <field var='muc#roominfo_description' 
             label='Description'>
        <value>The place for all good witches!</value>
      </field>
      <field var='muc#roominfo_changesubject' 
             label='Occupants May Change the Subject'>
        <value>true</value>
      </field>
      <field var='muc#roominfo_contactjid' 
             label='Contact Addresses'>
        <value>crone1@shakespeare.lit</value>
      </field>
      <field var='muc#roominfo_subject' 
             label='Current Discussion Topic'>
        <value>Spells</value>
      </field>
      <field var='muc#roomconfig_changesubject' 
             label='Subject can be modified'>
        <value>true</value>
      </field>
      <field var='muc#roominfo_occupants' 
             label='Number of occupants'>
        <value>3</value>
      </field>
      <field var='muc#roominfo_ldapgroup' 
             label='Associated LDAP Group'>
        <value>cn=witches,dc=shakespeare,dc=lit</value>
      </field>
      <field var='muc#roominfo_lang' 
             label='Language of discussion'>
        <value>en</value>
      </field>
      <field var='muc#roominfo_logs' 
             label='URL for discussion logs'>
        <value>http://www.shakespeare.lit/chatlogs/coven/</value>
      </field>
      <field var='muc#maxhistoryfetch'
             label='Maximum Number of History Messages Returned by Room'>
        <value>50</value>
      </field>
      <field var='muc#roominfo_pubsub' 
             label='Associated pubsub node'>
        <value>xmpp:pubsub.shakespeare.lit?;node=the-coven-node</value>
      </field>
    </x>
  </query>
</iq>

自分の部屋に関する詳細情報を取得するにはどうすればよいですか? QuickBlox API とそのサーバーを使用しています ありがとう

4

1 に答える 1

0

残念ながら、QuickBlox チャット サーバーは、現時点では短いルーム情報しかサポートしていません。

CustomObjectsレコードを使用してチャット ルームをラップし、追加のルーム情報を保存することをお勧めします

于 2013-08-22T06:03:01.660 に答える