ejabberd修改get_roster方法使其能获的组用户

与一个网友的聊天,虚拟机重装了,前面的聊天丢失了

上次的问题,基本弄清楚了。

原始默认是获取自己的好友列表

我的目标是获取指定好友下的指定组下面的所有成员。

 

主要是在get_roster函数,

 

默认是get_roster(LUser, LServer) -> 就是获取LUser的下面的所有好友

修改后get_roster_2(LUser, LServer, LGroupAdmin, LGroupName) ->

增加了一个LGroupName,里面执行时,将原来的LUser,替换为LGroupAdmin,同时增加一个搜索条件LGroupName。就可以了

 

同时get_roster里面的流程也要改变一下

原始:  先获取LUser下面的好友列表,再获取好友的组列表。2者组合成一条完整的好友记录。

修改后,先获取好友的组列表(sql语句用LGroupName和LGroupAdmin进行过滤),再获取好友列表

 

你可能感兴趣的:(sql,虚拟机)