사용중인 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.
이
은 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