XMPP、openfire 和 bot 问题

     2023-02-23     177

关键词:

【中文标题】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

【讨论】:

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

】Android文件传输无法通过XMPP和OpenFire工作【英文标题】:AndroidFileTransfernotworkingviaXMPPandOpenFire【发布时间】:2012-05-1022:38:31【问题描述】:问题:无法接收通过XMPP和OpenFire服务器发送到我的android应用程序的文件。我可以成功发... 查看详情

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

】XMPP——openfire、PHP和python网络服务【英文标题】:XMPP--openfire,PHPandpythonwebservice【发布时间】:2012-12-0912:07:31【问题描述】:我计划将实时通知集成到我目前正在开发的Web应用程序中。我决定为此使用XMPP,并选择了我认为适合... 查看详情

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

】在运行Openfire的ubuntu服务器上查找和更新XMPP版本【英文标题】:FindandUpdateXMPPversiononubuntuserverrunningOpenfire【发布时间】:2019-06-1310:28:26【问题描述】:这个问题可能听起来很荒谬,因为我对XMPP和Openfire完全陌生。我在Ubuntu18.0.4L... 查看详情

如何同步xmpp服务器openfire用户和iOS APP用户

】如何同步xmpp服务器openfire用户和iOSAPP用户【英文标题】:HowtosyncupxmppserveropenfireusersandiOSAPPusers【发布时间】:2012-10-2910:16:43【问题描述】:我使用“openfire”作为xmpp服务器。我正在我的APP中实现xmpp客户端,为所有成员提供聊... 查看详情

Tigase、Openfire 和任何其他开源 XMPP 服务器之间的比较

】Tigase、Openfire和任何其他开源XMPP服务器之间的比较【英文标题】:ComparisonbetweenTigase,Openfireandanyotheropen-sourceXMPPservers【发布时间】:2011-02-2806:31:08【问题描述】:我也一直在研究这些,它们似乎都以Java提供了功能齐全的XMPP服... 查看详情

hava jabber-bot。 XMPP over smack 4.2.0 with TLS

...:我需要开发迷你jabber-bot。我有一个只有TLS连接规则的openfire服务器。我曾经smack4.2.0-来自http://www.igniterealtime.org/downloads/ 查看详情

通过 XMPP (Openfire) 传输文件

】通过XMPP(Openfire)传输文件【英文标题】:FiletransferviaXMPP(Openfire)【发布时间】:2015-07-1315:49:20【问题描述】:我正在尝试通过xmpp实现文件传输,我的服务器是openfire3.9.3。我试图模仿Sparks的节,但我走到了死胡同。请帮忙!【问... 查看详情

使用 Openfire 服务器和 XMPP(SMACK)客户端的 Android 聊天应用程序 [关闭]

】使用Openfire服务器和XMPP(SMACK)客户端的Android聊天应用程序[关闭]【英文标题】:AndroidChatApplicationusingOpenfireserverandXMPP(SMACK)client[closed]【发布时间】:2017-01-0907:02:01【问题描述】:到目前为止,我了解到我需要一个聊天服务器... 查看详情

无法使用 HTTP 绑定连接到 XMPP 服务器(openfire)

】无法使用HTTP绑定连接到XMPP服务器(openfire)【英文标题】:Can\'tconnecttoXMPPserver(openfire)withHTTPbinding【发布时间】:2013-04-1813:30:31【问题描述】:我正在尝试学习XMPP协议以使用它制作Web应用程序。所以,我安装了一个名为openfire... 查看详情

如何使用 Openfire 和 XMPP 在 Android 中制作聊天机器人应用程序

】如何使用Openfire和XMPP在Android中制作聊天机器人应用程序【英文标题】:HowtomakechatbotapplicationinAndroidusingOpenfireandXMPP【发布时间】:2016-10-2612:44:53【问题描述】:我想在Android应用程序上创建一个用户,该用户的行为类似于聊天... 查看详情

数据包中 getChildElement 中的 Openfire XMPP 组件命名空间

】数据包中getChildElement中的OpenfireXMPP组件命名空间【英文标题】:OpenfireXMPPcomponentnamespaceingetChildElementinpacket【发布时间】:2016-05-3111:00:12【问题描述】:作为XMPP和Java的新手(我是iOS开发人员),通过遵循一些教程,我设法编写... 查看详情

使用openfire在xmpp中几秒钟后连接断开

】使用openfire在xmpp中几秒钟后连接断开【英文标题】:connectiondisconnectafterfewsecondsinxmppusingopenfire【发布时间】:2014-02-2708:18:57【问题描述】:我在客户端使用openfire3.9和strophe,我也在使用http-bind。现在的问题是,在我连接到服务... 查看详情

XMPP 主机名问题

...发布时间】:2014-06-1502:54:25【问题描述】:我在iOS中使用Openfire和xmpp,我无法完成连接,这是我的代码:[self.xmppStreamsetHostName:@"openfire.example.net"];[self.xmppStreamsetHostPort:5222];我收到消息无法连接到服务器。检查xmppStream.Hos 查看详情

XMPPHP 和 Openfire

】XMPPHP和Openfire【英文标题】:XMPPHPandOpenfire【发布时间】:2013-01-0117:35:22【问题描述】:我是XMPP的新手,我希望基本上将PHP连接到我的本地主机上的OpenFire安装。这是我找到的一段代码(我知道黑客和斜线,但我似乎无法理解... 查看详情

检索历史聊天 Openfire XMPP 框架

】检索历史聊天OpenfireXMPP框架【英文标题】:RetrievehistorychatOpenfireXMPPframework【发布时间】:2017-01-0223:19:41【问题描述】:我使用RobbieHanson的XMPPframwork和Openfire服务器开发了一个聊天应用程序。我可以一对一聊天并成功聊天。但是... 查看详情

我在使用 smack 4.2 Openfire 创建 XMPP 客户端时遇到问题

】我在使用smack4.2Openfire创建XMPP客户端时遇到问题【英文标题】:I\'mhavingtroublecreatingXMPPclientusingsmack4.2Openfire【发布时间】:2017-04-1520:31:34【问题描述】:我想创建一个连接到我的Openfire服务器的简单XMPP客户端。我在运行代码时... 查看详情

XMPP - 注册一个新用户

...【发布时间】:2016-08-0910:31:00【问题描述】:我正在使用Openfire和XMPP。我的问题是:每当我想注册某人时,我都需要像这样登录Openfire。connection.login(Username,Password);AccountManageraccountManager=AccountManager.getInstance(conn 查看详情

使用 Openfire 中的用户服务通过 iOS 的 xmpp 框架注册新用户

】使用Openfire中的用户服务通过iOS的xmpp框架注册新用户【英文标题】:UseUserServiceinOpenfiretoRegisternewuserviaxmppframeworkforiOS【发布时间】:2014-06-1902:36:58【问题描述】:我现在可以看到在我的openfire服务器中手动创建的用户,我正在... 查看详情