我正在尝试为我们的服务台系统设置一个Bonjour (或Ahavi)聊天机器人,它将基于菜单系统回答基本问题。我的问题的基础是如何让python创建机器人,以便它作为聊天客户端连接到网络。
基本上,在我的网络上,任何有iChat或同理心(或任何能够通过本地网络查看用户的聊天程序)的人都应该像看到另一个用户一样看到机器人。实际的机器人部分将是相当简单的编程,但我不知道如何让它在网络上。
我研究过ZeroConf,但我不太确定它是如何工作的,也不知道如何在python中运行聊天服务。我看过对pybonjour、用于avahi的python绑定和pyzeroconf的引用,但同样,我不知道如何设置它们。
如果任何人能提供一个例子,或参考资料,甚至是一篇关于这个主题的好文章,我们将不胜感激。谢谢!
Kory
发布于 2010-06-29 23:55:56
你在这里看到的是你想做什么和怎么做之间的脱节。Zeroconf/Avahi是关于服务发现的。你所描述的是一个聊天机器人。聊天机器人连接到现有的聊天服务器。搭载iChat的苹果公司略微模糊了这些界限。
iChat (以及可能实现该协议的其他聊天客户端)使用Bonjour提供一种避免外部服务器连接的方法。
从本质上讲,您需要做的是实现一个也利用Bonjour的聊天服务器。Bonjour部分发布服务,chat部分处理实际的通信。您可能希望使用python库来实现心灵感应,比如python-telepathy或python-empathy Telepathy。iChat似乎说的是AIM,所以这将是我们要研究的协议。IIRC它也支持XMPP,所以XMPP python库可能是一个选择。
我会考虑使用bonjour-py来宣传这项服务。这可能有点棘手,但听起来确实很有趣。如果不能满足您的需求,那么您可以在bonjour-py页面上搜索许多其他术语。
1:http://telepathy.freedesktop.org/wiki/心灵感应之家
2:http://www.mcs.anl.gov/research/projects/accessgrid/bonjour-py/ bonjour-py
发布于 2010-06-19 04:50:15
最简单的做法是使用Telepathy Salut或Pidgin/libpurple,并通过D-Bus与其交谈。
https://stackoverflow.com/questions/3072934
复制相似问题