私が使用しているejabberdモジュールは、mod_pottymouthがメッセージを期待通りにフィルタリングしていません。ロギングを追加した後、実際のフィルタリングを行うものの代わりに汎用ハンドラメソッドが呼び出されます。問題は、適切な関数が呼び出されるようにejabberdメッセージを解析できないことです。誰も助けることができますか?期待されるEjabberd filter_packet関数が呼び出されていません
on_filter_packet({_From, _To, {xmlel, <<"message">>, _Attrs, Els} = _Packet} = _Msg) ->
%This is what should be called to filter messages, but is never called
FilteredEls = filterMessageBodyElements(Els, []),
{_From, _To, {xmlel, <<"message">>, _Attrs, FilteredEls}};
on_filter_packet(Msg) ->
% This is what actually gets called
Msg.
これはejabberd 17.01
ejabberd 17.01、およびejabberd-contribのから最新のmod_pottymouthを使用して: だから、基本的に、あなたのコードは次のようになります。https://docs.ejabberd.im/developer/guide/#ejabberd-router とhttps://github.com/processone/xmpp/blob/master/README.md
をお読みください – bwsmith