如何使用 ejabberd 实现机器人?
这个想法是,在我的(Debian 7.0 Wheezy)VPS 上,我正在运行 ejabberd,并且我有一个特殊的 bot Jabber 用户,他可以运行的命令集有限。让我们称他为 butler@myvps.foo。
在另一个盒子(比如我的安卓手机)上,我有一个 Jabber 客户端连接到我的帐户,可能是第三方服务器。让我们称它为 me@somewhere.bar。
现在我希望 ejabberd:
只允许一个特定的 Jabber ID,me@somewhere.bar 与这个 butler@myvps.foo 通信。
将输入到与 butler@myvps.foo 聊天的所有内容传递给 shell 并作为命令执行,可能在 chrooted 或其他受保护的环境中(例如,使用特定的受限用户)。(当然,STDOUT + STDERR 作为回复返回。)
我知道可能存在安全风险,但现在我只想知道这是否可行。