I am using ejabberd
as an XMPP
server. But i wish to store the messages that go through the server and also when was the message sent and to whom and by who. I googled it but could not find how to do it. Help?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You probably need to write a hook in Erlang. See the ejabberd documentation for events and hooks Specifically this one :
user_send_packet(From, To, Packet) -> ok
Use the erlang driver for mongodb . If that's "not possible"/"too difficult", i suggest you call a PHP/Python/Ruby script that just stores the message into mongodb. Its easy to do, but won't scale too well.
Hope this helps.
Some links : mongodb-erlang Erlang driver examples
PS : It's been sometime since i used eJabberd. Any corrections are welcome.