테스트 사용자와 함께 Ejabberd를 설치하여 작동합니다.Ejabberd에서 메시지를 필터링하는 방법
- 차단 "메시지"
- 가 같은 PHP 파일에서 결과를 얻을 PHP 파일
- 로 보내 (즉시) : 다음과 같이 내가 그들에게 메시지를 가로 채고 수정할 수있는 모듈을 작성하려면
- 메시지 스탠자를 수정하고받는 사람
ejabberd 문서가 약한 및 자습서가 존재하지 않는다에 와이어를 내려 보내. 이 작업을 수행하는 몇 가지 샘플 코드를 제공 할 수 있습니까? 그런 다음 필요에 맞게 구성하는 방법을 파악할 수 있습니다.
감사합니다.
아딜은
감사합니다. 나는 이미 이것까지 갔고 INFO_MSG에서 packet_interceptor가 호출되고 있음을 알 수있다. 어떻게이 XML 데이터를 PHP (? xml =을 통해) 으로 보내고 결과 XML을 검색 한 다음 수령인에게 전달할 수 있습니까? –
Adil
PHP 스크립트를 호출하려면 http : request/1,2,3을 사용해야합니다. IIRC on_filter_packet은 ejabberd의 라우터 프로세스와 동일한 프로세스에서 호출되므로 너무 많은 시간을 소비하지 않아야합니다. 그래서 해결책은 이것을위한 새로운 프로세스를 생성하고,'drop' atom을 리턴하고 (패킷을 버리기 위해), PHP에서 수정 된 스텐자가 반환 될 때'ejabberd_router : route (From, To, Packet)'를 사용하여 보내면됩니다. 아마 당신이 보낸 새 패킷에 on_filter_packet이 다시 호출 될 것이므로, 그것을 탐지하고 두 번 처리하지 않도록하십시오. – gleber
패킷을 탐지하기 위해서 자신의'xmlns'를 가지고 패킷에' ' 태그를 추가 할 수 있습니다. –
gleber