我正在嘗試爲ejabberd編寫一個erlang模塊,並且無法完全解決語法問題。在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(< 0.423.0>:ejabberd_hooks:294):{function_clause,
但是,即使我運行它沒有++,我得到另一個錯誤告訴我不匹配。
我想要做的就是在用戶ID的第一部分運行handleoffline.py,任何人都有什麼建議?
請發佈完整的錯誤和沒有++的代碼。 – Isac 2012-02-29 16:25:55
一個錯誤是,osReturn是一個原子,應該是OsReturn – selle 2012-02-29 21:54:46