列出所有 xmpp 聊天室及其主题名称和最后一条消息
List all xmpp chat rooms with their subject names and last message
从文档 XEP-00300 中,我知道我可以为用户列出所有房间,但是是否可以通过某些元数据过滤聊天室?
场景:作为用户,我想用 'apples' 打开选项卡,我可以看到所有带有一些 id=apple(一些元数据)
的聊天室
作为用户,我想将选项卡切换到 banana 并查看 id=banana 的聊天室
可能吗?也许其他方式?一定是多人聊天。
显然这显然是不可能的。如果您开发客户端,则有一些肮脏的选择:
A) 使用房间名称设置标签。
例如,如果用户想要将带有“电影”和“漫画”标签的房间命名为“Last Marvel 电影”,您的客户可以创建名称为 Last_Marvel_movies-film-comic 的房间。
稍后,在“按主题搜索房间”中,您的客户端获取房间列表,在任何房间名称中搜索 -whatever
,然后在显示房间名称时删除 -*
。
B) 使用房间描述设置标签。
每个房间都可以有一个“描述”。你可以在那里设置任何你想要的文本。
问题是:您的客户需要获取房间列表(如案例 A),然后询问每个房间的描述,然后按主题过滤。
这一切都在ejabberd中思考。不知道其他有MUC服务的服务器有没有其他方法。
从文档 XEP-00300 中,我知道我可以为用户列出所有房间,但是是否可以通过某些元数据过滤聊天室?
场景:作为用户,我想用 'apples' 打开选项卡,我可以看到所有带有一些 id=apple(一些元数据)
的聊天室作为用户,我想将选项卡切换到 banana 并查看 id=banana 的聊天室
可能吗?也许其他方式?一定是多人聊天。
显然这显然是不可能的。如果您开发客户端,则有一些肮脏的选择:
A) 使用房间名称设置标签。
例如,如果用户想要将带有“电影”和“漫画”标签的房间命名为“Last Marvel 电影”,您的客户可以创建名称为 Last_Marvel_movies-film-comic 的房间。
稍后,在“按主题搜索房间”中,您的客户端获取房间列表,在任何房间名称中搜索 -whatever
,然后在显示房间名称时删除 -*
。
B) 使用房间描述设置标签。
每个房间都可以有一个“描述”。你可以在那里设置任何你想要的文本。
问题是:您的客户需要获取房间列表(如案例 A),然后询问每个房间的描述,然后按主题过滤。
这一切都在ejabberd中思考。不知道其他有MUC服务的服务器有没有其他方法。