0
我有簡單的ejabebrd插件,我需要從它發送消息。在這裏,我張貼我的代碼示例和錯誤,我得到了。請給我你的反饋。使用Erlang從ejabberd發送消息
我的代碼:
-module(mod_final).
-on_load(send_message/0).
-behaviour(gen_mod).
-export([start/2, stop/1]).
-include("ejabberd.hrl").
-include("logger.hrl").
-include("jlib.hrl").
start(_Host, _Opt) ->
?INFO_MSG("mod_final starting", []),
ok.
stop(_Host) ->
?INFO_MSG("mod_final stoping", []),
ok.
send_message() ->
LUser = "test1",
LServer = "localhost",
From = jlib:make_jid(LUser, LServer, []),
TUser = "test2",
TServer = "localhost",
To = jlib:make_jid(TUser, TServer, []),
FromAddress = jlib:jid_to_string(From),
ToAddress = jlib:jid_to_string(To),
?INFO_MSG("send message starting", []),
XmlBody = {xmlelement, "message", [{"id", []},{"type", "chat"}, {"from", FromAddress}, {"to", ToAddress}], [{xmlelement, "body", [], [{xmlcdata, <<"Test Message">>}]}]},
ejabberd_router:route(From, To, XmlBody).
但我得到這個錯誤:
D(<0.252.0>:ejabberd_router:313) : route
from {jid,"test1","localhost",[],"test1",
"localhost",[]}
to {jid,"test2","localhost",[],"test2",
"localhost",[]}
packet {xmlelement,"message",
[{"type","error"},
{"to","[email protected]"},
{"from","[email protected]"},
{"id",[]}],
[{xmlelement,"body",[],[{xmlcdata,<<"Test Message">>}]},
{xmlelement,"error",
[{"code","503"},{"type","cancel"}],
[{xmlelement,"service-unavailable",
[{"xmlns","urn:ietf:params:xml:ns:xmpp-stanzas"}],
[]}]}]}
感謝你的幫助。