我有一个列出所有公共聊天室的页面,我想拥有:总占用者/最大用户
IE。(05/10 房间里的人)
扩展迪斯科信息结果(查询房间信息)返回房间中的当前占用者,但不显示最大占用点数。
我将如何检索房间的最大用户数?
在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 配置房间使用选项:新配置];}