ejabberd手册XMPP离开房间的规则

时间:2012-05-25 16:41:57

标签: erlang xmpp ejabberd

在我们的XMPP实施中,我们希望用户在离线后留在房间中,这样我们就可以继续监控房间对话并向用户发送推送通知。

有没有办法控制用户离开房间的原因?我们希望在用户离线后让他们留在房间里。

或者,有没有更好的方法来监控哪些用户在一个房间,以便我们可以向他们发送推送通知?

1 个答案:

答案 0 :(得分:4)

在这里从臀部拍摄,但它与我刚才想到的东西类似。持久的MUC房间。

涉及修改后的mod_muc_room的可能方法:

  • 在会议室创建时,创建名为{room name} _Participants
  • 的共享名册组()
  • 每当有人加入房间时,请将其添加到名册
  • 每当有人发送/我离开,然后将其从名册中删除
  • 每当收到房间的消息时,请将其包含在“当你外出......”样式消息中,并将其发送给共享名册中不在线的任何用户
  • 当房间被杀死时删除共享名册

查看以下模块的代码,但主要是在第176行(https://git.process-one.net/~badlop/ejabberd/badlop-ejabberd/blobs/HEAD/src/mod_muc/mod_muc_room.erl#line176)附近签出mod_muc_room.erl