Ниже представлен один из пакетов, зарегистрированных в функции, которая вызывается filter_packet hook.Ejabberd только для печати «сообщения» пакеты
I(<0.10945.0>:my_module:46) : in_filter_packet: {xmlelement,"message",
[{"type","headline"}],
[{xmlelement,"event",
[{"xmlns",
"http://jabber.org/protocol/pubsub#event"}],
[{xmlelement,"items",
[{"node",
"http://jabber.org/protocol/tune"}],
[{xmlelement,"item",
[{"id",
"5A487A38503FE"}],
[{xmlelement,"tune",
[{"xmlns",
"http://jabber.org/protocol/tune"}],
[]}]}]}]},
{xmlelement,"addresses",
[{"xmlns",
"http://jabber.org/protocol/address"}],
[{xmlelement,"address",
[{"type","replyto"},
{"jid",
"[email protected]/10042049171444555575238273"}],
[]}]}]}
Как отфильтровать только «сообщение» «тип» пакетов? т.е. в настоящее время подсел функция выглядит
on_filter_packet({From, To, Packet} = Input) ->
?INFO_MSG("in_filter_packet: ~p ", [Packet]), %[gen_mod:get_module_opt(global, ?MODULE, debug, false)]),
Input.
Как написать код ** если (== packet.type сообщение) только тогда напечатать **?