将mod_confirm_delivery模块转换为更新的二进制化ejabberd版本的问题

时间:2015-06-29 11:21:03

标签: github erlang xmpp ejabberd erl

我尝试过制作一个模块:

https://github.com/johanvorster/ejabberd_confirm_delivery

我正在使用ejabberd ver 14.07。

我所做的改变:

1. Removed all the ?INFO_MSG statements
2. binarised all the strings. Every occurence of "abc" has been replaced by <<"abc">> and so on.

还需要什么? 我已经能够很好地编译模块,但它不起作用。

输入? 如果项目分支上的任何人可以根据更新版本的ejabberd更新git项目,那将会很棒。

每当收到服务器发送的消息时,我打算从连接到saya组的每个客户端收到xmpp节。

由于

1 个答案:

答案 0 :(得分:0)

我认为这个模块会在mod_confirm_delivery.erl中为send_packet函数生成一个undef错误。检查您的错误登录:

  

// VAR /数/ ejabberd / ejabberd.log

在这个模块中:

  

ejabberd_hooks:add(user_send_packet,_Host,?MODULE,send_packet,50),

此Hook正在调用 mod_confirm_delivery:send_packet / 4 函数,但在您的模块中 send_packet / 4 未定义。因此,您必须更新代码以匹配user_send_packet挂钩的新签名,即:

  

user_send_packet(Packet,C2SState,From,To) - &gt;包

点击链接:https://docs.ejabberd.im/developer/hooks/