我正在尝试将消息从一个用户发送到另一个用户。我不想从客户端发送消息,因为我使用mod_rest来捕获HTTP请求,但是我无法正确地将消息节从一个用户路由到另一个用户。
我尝试拨打mod_mam:user_send_packet
,但邮件尚未保存在收件人档案中。
有没有解决这些问题的干净方法?
答案 0 :(得分:0)
您必须使用ejabberd_router:route/1。
要了解有关其可能参数的更多信息,请阅读xmpp_codec.hrl的iq
,message
和presence
条记录。
对于c2s,聊天ejabberd_router
使用ejabberd_sm
模块发送数据包。 ejabberd_sm
添加offline_message_hook
和here它会运行此挂钩。在here模块mod_offline
中使用offline_message_hook
。因此,当接收器处于脱机状态且mod_offline
处于活动状态时,将存储消息。