3

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

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

或者,是否有更好的方法来监控房间内的用户,以便我们向他们发送推送通知?

4

1 回答 1

4

在这里从臀部拍摄,但这与我不久前想到的类似......持久的MUC房间。

涉及修改 mod_muc_room 的可能方法:

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

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

于 2012-05-25T22:10:36.743 回答