2010-06-18 84 views
0

我想爲我們的幫助臺系統設置一個Bonjour(或Ahavi)聊天機器人,它將根據菜單系統回答基本問題。我的問題的基礎是如何讓python創建bot,以便它作爲聊天客戶端連接到網絡。ZeroConf與Python聊天

基本上,我的網絡的iChat或同情(或能夠通過本地網絡來查看用戶的任何聊天程序)上的任何人都應該看到機器人就像他們看到其他用戶。實際的機器人部分編程非常簡單,但我不知道如何在網絡上獲取它。

我已經調查ZeroConf的,但我不完全知道它是如何工作,或如何得到與Python運行的聊天服務。我已經看到pybonjour,python綁定avahi和pyzeroconf的參考,但是我不知道如何設置它們。

如果有人可以舉一個例子,或參考,或甚至一個很好的文章,關於這個問題看,這將是大加讚賞。謝謝!

Kory

回答

1

你在這裏有什麼是你想要做什麼和如何做它之間的脫節。 Zeroconf/Avahi關於服務發現。你描述的是一個聊天機器人。聊天機器人連接到現有的聊天服務器。使用iChat的蘋果已經略微模糊了這些線條。

的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/卓悅-PY

+0

我從來沒有真正開始過這個項目,但你的答案是最好的。 – korylprince 2013-06-09 04:36:31

0

做最簡單的就是用心靈感應薩呂或洋涇浜/的libpurple,並在d-總線與它交談。

+0

謝謝,我一定會考慮這樣做。我很容易...雖然這樣使用它,它是否需要運行X服務器?我希望能夠在控制檯上運行一些東西...... – korylprince 2010-06-18 21:04:40

+0

不,即使libpurple不支持D-Bus激活,心靈感應和libpurple都不需要X服務器。 – 2010-06-18 21:09:40

+0

啊哈,非常好,那麼...這可能是我決定使用然後...雖然任何其他建議也將受到歡迎.. 非常感謝! Kory – korylprince 2010-06-18 21:12:51