【发布时间】:2012-02-29 14:10:51
【问题描述】:
我正在尝试为 ejabberd 编写一个 erlang 模块,但无法完全确定语法。
我想做的是当用户发送离线消息时,运行我编写的脚本。
on_offline(_From, To, _Packet) ->
?INFO_MSG("recieved offline packet to ~p", [To]),
?INFO_MSG("Got offline message", []),
osReturn = os:cmd("/opt/ejabberd-2.1.10/newmods/handleoffline.py " ++ To),
?INFO_MSG("Send to handler and got return ~s", [osReturn]),
none.
但是当我运行它时,我得到了一些错误,如果我有 ++ 到那里我得到错误
E(:ejabberd_hooks:294) : {function_clause,
但是,即使我在没有 ++ 的情况下运行它,我也会收到另一个错误,告诉我匹配错误。
我想做的就是使用用户 ID 的第一部分运行 handleoffline.py,有人有什么建议吗?
【问题讨论】:
-
请发布完整的错误和不带 ++ 的代码。
-
一个错误是osReturn是一个原子,应该是OsReturn