我正在使用的 ejabberd 模块 mod_pottymouth 没有按预期过滤消息。添加日志记录后,我看到调用了一个通用处理程序方法,而不是执行实际过滤的方法。问题是,我无法解析 ejabberd 消息以确保调用正确的函数。任何人都可以帮忙吗?
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