2

这个问题在不同的时间以不同的形式被问过,
但是随着时间的推移,事情已经发生了很大的变化,现有的答案一开始也不是很令人满意,我允许自己再问一次,

我想实现一个聊天机器人,让我们的团队能够回答查询和接受命令(大致类似于 Github 的 hubot),我想在 Google Talk 服务(Gmail 和其他地方的聊天服务)之上做到这一点),我宁愿在 Python 或 Go 中,在 AWS 上(而不是使用 Google App Engine),

我的问题是,在过去的一年里,有没有任何 Python 或 Go out 中的 Google 聊天客户端库一直在积极开发中?
非常感谢有关实施聊天机器人的任何建议。

我的计划是拥有一个 Google Talk 客户端,一直运行,等待人们与之交谈并解释他们的消息/命令(而不是运行服务器并处理用户身份验证和......)

4

3 回答 3

3

Google Talk 服务基于 XMPP,但使用了一些开放但非标准的扩展,尽管这些都不是建立连接所必需的。任何符合标准的客户端都应该可以工作。

引用自https://developers.google.com/talk/open_communications#developer

我是 IM 客户端的开发人员。如何连接到 Google Talk 服务?

只要您遵守 XMPP 规范的要求,您就可以连接到 Google Talk 服务。

除了支持连接到 Google Talk 所需的 XMPP-Core 和 XMPP-IM 之外,没有什么特别的。由于遗留原因,它甚至支持 SASL PLAIN 机制。


目前在 Go 中没有很好的 XMPP 支持,可以说有几个铁杆在火中,但都远未准备好生产和许多废弃的项目。使用已建立的 Python 库之一是您最好的选择。

不用过多考虑,我会选择Twisted WordsWokkel

于 2013-02-06T16:05:11.613 回答
2

我知道的唯一可能符合条件的是mattn / go-xmpp

于 2013-02-06T14:50:58.600 回答
2

Google Talk 使用普通的XMPP ,唯一的变化是它需要非标准化的身份验证方案才能作为客户端登录到他们的X-GOOGLE-TOKEN服务器(当时它是SASL 机制,现在它被认为是 OAuth2 ——与 gtalk 服务器的服务器到服务器通信无需任何调整即可工作。

请注意,您不妨考虑设置自己的 XMPP 服务器,因为有许多免费的 XMPP 服务器(ejabberd、prosody、openfire、jabberd2),并且有免费的支持 XMPP 的网络聊天客户端(以JWChat为例)以防万一'将希望人们能够直接从 Web UI 聊天。

至于库,我听说在为 Python 编写支持网络的应用程序时使用 Twisted 框架很流行,所以看看有什么可用的。 go-xmpp@jnml 提到的似乎还不支持核心 XMPP RFC 中指定的最低要求。

于 2013-02-06T15:34:11.007 回答