0

すべての公開チャットルームを一覧表示するページがあり、取得しようとしています: 総占有者/最大ユーザー数

すなわち。(05/10 在室者)

Extended Disco Info Result ( Querying For Room Information ) は、部屋の現在の占有者を返しますが、最大占有者数は示しません。

ルームの最大ユーザー数を取得するにはどうすればよいですか?

4

2 に答える 2

1

XEP-0045では、例 10のすぐ下に、拡張検出結果で許可されるフィールドを指定するテキストがあります。これには次のものが含まれます。

...muc#roomconfig FORM_TYPE に定義された任意のフィールドを、拡張サービス検出フィールドに含めることができます (上記の「muc#roomconfig_changesubject」フィールドのように)。

したがって、これをサポートするサーバーは、検出結果で次のようなフィールドを返します。

<field var='muc#roomconfig_maxusers' 
         label='Maximum Number of Occupants'>
    <value>10</value>
</field>

サーバーがこれを返さない場合は、おそらく機能リクエストを提出してください。

于 2012-08-05T00:12:24.507 に答える
1
One can set the number of occupants in MUC's Configuration. Example 157 in XEP-0045 

スタンザの使用:

 <field var='muc#roomconfig_maxusers' 
         label='Maximum Number of Occupants'>
    <value>50</value>
</field>

Objective-C コード:

NSArray *fields = [newConfig elementsForName:@"field"];
for (NSXMLElement *field in fields) { NSString *var = [field attributeStringValueForName:@"var"];

if ([var isEqualToString:@"muc#roomconfig_maxusers"])
{
    [field removeChildAtIndex:0];
    [field addChild:[NSXMLElement elementWithName:@"value" stringValue:@"50"]];
}

[XMPPRoom configureRoomUsingOptions:newConfig]; }

于 2014-09-17T11:30:35.940 に答える