すべての公開チャットルームを一覧表示するページがあり、取得しようとしています: 総占有者/最大ユーザー数
すなわち。(05/10 在室者)
Extended Disco Info Result ( Querying For Room Information ) は、部屋の現在の占有者を返しますが、最大占有者数は示しません。
ルームの最大ユーザー数を取得するにはどうすればよいですか?
すべての公開チャットルームを一覧表示するページがあり、取得しようとしています: 総占有者/最大ユーザー数
すなわち。(05/10 在室者)
Extended Disco Info Result ( Querying For Room Information ) は、部屋の現在の占有者を返しますが、最大占有者数は示しません。
ルームの最大ユーザー数を取得するにはどうすればよいですか?
XEP-0045では、例 10のすぐ下に、拡張検出結果で許可されるフィールドを指定するテキストがあります。これには次のものが含まれます。
...muc#roomconfig FORM_TYPE に定義された任意のフィールドを、拡張サービス検出フィールドに含めることができます (上記の「muc#roomconfig_changesubject」フィールドのように)。
したがって、これをサポートするサーバーは、検出結果で次のようなフィールドを返します。
<field var='muc#roomconfig_maxusers'
label='Maximum Number of Occupants'>
<value>10</value>
</field>
サーバーがこれを返さない場合は、おそらく機能リクエストを提出してください。
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]; }