当前位置: 代码迷 >> 综合 >> gtalk robot
  详细解决方案

gtalk robot

热度:49   发布时间:2023-12-11 21:04:16.0

想写个GTalk的Robot,实现简单的智能对话。采用了xmpppy library。

XMPP 是面向基于 XML 的 Internet 通信的开放协议。

 

 图1. 由一个服务器和两个客户机组成的基本的XMPP架构

 

 图2. 包含了XMPP网关的更为复杂的 XMPP架构


 

XMPP 中的地址(即 Jabber ID[JID])与标准电子邮件地址相似,但有着几个显著的差别。JID 包含一个可选节点、一个域和一个可选资源:

[ node "@" ] domain [ "/" resource ]

 

 

RFC Short Name Formats Description
RFC 3920 XMPP Core Text | HTML XML streams, SASL, TLS, stringprep profiles, stanza semantics
RFC 3921 XMPP IM Text | HTML XMPP extensions for basic instant messaging and presence
RFC 3922 XMPP CPIM Text | HTML Mapping XMPP to the IETF's CPIM specifications
RFC 3923 XMPP E2E Text | HTML End-to-end signing and object encryption for XMPP
RFC 4622 XMPP URI Text (HTML to follow) Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for XMPP

 

Gtalk默认只能打开一个,为了方便测试,修改GTalk快捷方式的属性,添加/nomutex参数,这样,可以运行多个GTalk。

 

准备工作做好,接下来,试试PyGtalkRobot的功能,一个GTalk给另外一个GTalk账号发消息,可以看到消息被command_999_default函数处理。

如果要实现更加智能的功能,只需要扩展这个函数即可。

 

注意:def auth(self,user,password,resource='',sasl=1):里的sasl=1应该改成sasl=0。

这个需要修改一下,不然编译的时候有时会出错。