XMPP、openfire 和 bot 问题

Posted

技术标签:

【中文标题】XMPP、openfire 和 bot 问题【英文标题】:XMPP, openfire and bot issue 【发布时间】:2011-01-11 12:29:48 【问题描述】:

我有兴趣做一个聊天机器人。我的脚本目前在 imified.com 机器人上运行良好。然而,imified 几乎每天都在下降。所以我正在寻找自己的解决方案。

在我的发现过程中,我发现(通过这个网站)openfire 并且我已经对其进行了配置,即使使用 gmails 用户它也能正常工作。

但我仍然没有得到我需要的东西。

当每个 gmail 或其他外部用户向我发送消息时,我需要请求一个 URL(包含聊天脚本和一些其他用户数据,例如 imified 提供的)。让我解释一下。

我的 openfire 为 mybot.com 托管并工作,我的 ID 是:autobot@mybot.com。

现在一个 gmail 用户说 client@gmail.com 在他的 gtalk/piding 中添加了我,我们可以相互交流。他可以给我发消息,我可以回复。

但我需要一个机器人来代替我。当 client@gmail.com(和任何其他用户)向我发送消息时,我需要请求一个 URL,以便我可以根据他/她发送的消息动态生成响应。

我应该通过哪种方式实现这一目标?有没有办法自定义 openfire 来做到这一点?

或者我应该制作一个 php/python(不过我需要学习 python)脚本来监听 xmpp 端口并生成响应?如果是这样,有什么有用的脚本可以指导我吗?

非常感谢您阅读并提前感谢您提供任何回复。

【问题讨论】:

【参考方案1】:

OpenFire 了解 XMPP,您需要的是 XMPP 库/API(如果您是 Rubyist,则如 XMPP4R)。使用它,您的应用程序将登录到 OpenFire(通过发送 gmail/yahoo 凭据),其他人将看到您在线。但是当他们回复您时,您会在您的申请中收到通知。您可以在哪里接收、处理消息并发送响应(通过编写所需的程序/逻辑)。

我们已经在我们的 SMS 聊天应用程序中与 Gmail/Yahoo Messenger 朋友/联系人进行了此操作。

【讨论】:

感谢 Asif 的意见!你知道像 XMPP4R 这样好的 php 或 python 库吗?当你回答的时候,我问谷歌:)。 嗨,阿西夫,我认为这个线程会帮助我 :) ***.com/questions/910737/… 我没有将 XMPP 与 PHP/Python 一起使用。如果你得到它,我祝你好运:)【参考方案2】:

Openfire 是 XMPP 服务器。它是 XMPP 客户端之间的路由消息。

您需要 XMPP-client 连接到服务器并处理来自其他客户端的消息。

例如,您可以查看here。该页面包含两个简单的机器人。

【讨论】:

嗨,我仍然愿意接受其他回复:)。【参考方案3】:

你也可以使用 xmpp js lib 'strophe'

https://github.com/metajack/strophejs

和 xmpp python 库

https://github.com/fritzy/SleekXMPP

和 xmpp php 库

https://github.com/alexmace/Xmpp

试试看,祝你好运

【讨论】:

【参考方案4】:

您可以试用我们的 XMPP 聊天机器人,它已经过 openfire 测试: http://github.com/gbin/err

设置起来超级简单,制作一个最小的 hello world 插件也很容易,不需要操作 XMPP: 见https://gist.github.com/2902497

【讨论】:

以上是关于XMPP、openfire 和 bot 问题的主要内容,如果未能解决你的问题,请参考以下文章

Smack XMPP 连接状态,数据不正确

hava jabber-bot。 XMPP over smack 4.2.0 with TLS

XMPP——openfire、PHP 和 python 网络服务

OpenFire后台插件上传获取webshell及免密码登录linux服务器

Android 文件传输无法通过 XMPP 和 OpenFire 工作

在运行 Openfire 的 ubuntu 服务器上查找和更新 XMPP 版本