【问题标题】:ZeroConf Chat with PythonZeroConf 与 Python 聊天
【发布时间】:2010-06-29 23:55:56
【问题描述】:

我正在尝试为我们的帮助台系统设置 Bonjour(或 Ahavi)聊天机器人,它可以根据菜单系统回答基本问题。我的问题的基础是如何让 python 来创建机器人,以便它作为聊天客户端连接到网络。

基本上,我网络上使用 iChat 或 Empathy(或任何能够通过本地网络查看用户的聊天程序)的任何人都应该像看到其他用户一样看到机器人。实际的机器人部分编程起来非常简单,但我不知道如何在网络上获取它。

我研究了 ZeroConf,但我不确定它是如何工作的,或者如何使用 python 运行聊天服务。我已经看到了对 pybonjour、avahi 的 python 绑定和 pyzeroconf 的引用,但同样,我不知道如何设置它们。

如果有人能给出一个例子、参考,甚至是一篇关于这个主题的好文章,将不胜感激。谢谢!

科里

【问题讨论】:

    标签: python linux bonjour zeroconf chatbot


    【解决方案1】:

    您在这里所拥有的是您想要做什么和如何做之间的脱节。 Zeroconf/Avahi 是关于服务发现的。你描述的是一个聊天机器人。聊天机器人连接到现有的聊天服务器。带有 iChat 的 Apple 稍微模糊了这些界限。

    iChat(以及可能实现该协议的其他聊天客户端)使用 Bonjour 提供一种避免外部服务器连接的方法。

    基本上,您需要做的是实现一个也使用 Bonjour 的聊天服务器。 Bonjour 部分宣传服务,而聊天部分处理实际通信。您可能希望使用 python 库进行心灵感应,例如 python-telepathy 或 python-empathy [Telepathy][1]。 iChat 似乎会说 AIM,所以这将是要研究的协议。 IIRC 它还支持 XMPP,因此 XMPP python 库可能是一个选项。

    我会考虑使用 [bonjour-py][2] 来宣传该服务。这可能有点棘手,但听起来确实很有趣。 bonjour-py 页面有许多其他术语,如果不符合您的需求,您可以搜索它。

    [1]:http://telepathy.freedesktop.org/wiki/心灵感应之家

    [2]:http://www.mcs.anl.gov/research/projects/accessgrid/bonjour-py/bonjour-py

    【讨论】:

    • 我从来没有真正开始过这个项目,但你的回答是最好的。
    【解决方案2】:

    最简单的做法是使用 Telepathy Salut 或 Pidgin/libpurple,并通过 D-Bus 与其交谈。

    【讨论】:

    • 谢谢,我一定会调查的。我很容易......虽然以这种方式使用它,但它需要运行X服务器吗?我希望可以在控制台上运行一些东西......
    • 不,心灵感应和 libpurple 都不需要 X 服务器,尽管 libpurple 不支持 D-Bus 激活。
    • 啊哈,那很好......这可能是我决定使用的......虽然也欢迎任何其他建议......非常感谢!科里
    猜你喜欢
    • 2023-01-23
    • 1970-01-01
    • 2014-12-29
    • 2023-02-05
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多