我正在尝试为ejabberd实现一个自定义的带内注册模块,这需要使用自定义客户端进行一些专门的来回。由于这包含一堆业务逻辑,我还不太习惯使用Erlang,我想将它作为某种外部组件实现。 XEP-0114(Jabber组件协议)是否可用于此,或者未注册的客户端是否无法联系它(捕获22)?
外部化ejabberd组件/模块的其他有效方法是什么?理想情况下,我喜欢类似Gearman的设置,其中ejabberd可以将某些操作分发给外部程序,但到目前为止,Erlang方面缺少文档和工作代码而难以接受。
答案 0 :(得分:1)
如果您熟悉python,那么非常干净且高效的方法是将Twisted与wokkel结合使用。这里有一个简单的例子:http://metajack.im/2008/10/09/echo-bot-part-two-making-a-component/ ejabberd支持XEP-0144就好了。如果您想要自定义逻辑来管理用户,您可以将组件与XEP-133 Service Administration
组合在一起