【发布时间】:2017-07-30 22:48:15
【问题描述】:
我正在使用的 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
【问题讨论】:
-
使用 ejabberd 17.01,以及来自 ejabberd-contrib 的最新 mod_pottymouth
标签: erlang ejabberd ejabberd-module ejabberd-hooks