gtalk机器人开发指南
gtalk机器人很火,twitter类网站基本上都支持,原因只有一个
gtalk采用了jabber协议,这个是一个开放性协议,一堆开源代码包,所以比较好开发
我贡献一个python脚本程序,基于jabber.py
- Gtalk采用了xmpp协议,文本聊天基本上是xmpp的一个子集,同时在连接采用了TLS来作为安全措施。
- 但是gtalk对标准的jabberd通讯协议做了一些修改
from GtalkClient import JabberConnection jbc =JabberConnection('gmail.com','name','pwd','group') while 1: jbc.run()
- name,pwd分别填写gtalk的账号,group的值随便添,是xmpp协议的概念 JabberConnection里面定义了一些事件响应函数,只做了简单的处理,你可以新建一个继承于JabberConnection的子类,重载事件函数.
class JabberConnection: ''' notificationfunction should be override ''' def loggedIn(self): '' To be overidden ''' print 'LogIn.' def connectionLost(self, reason): ''' To be overidden ''' print reason def loginFailure(self, message): ''' To be overidden ''' print message def serverGoingDown(self): pass # retrieved buddy presence list def listSynchronized(self): return self.contact_info.items() def contactLoggedIn(self, jid): print '%s log in' % jid def contactStatusChanged(self, jid): print '%s status changed ' % jid def userAddedMe(self, jid): ''' user have add me''' print '%s add me' % jid def userRemovedMe(self, jid): ''' To be overidden ''' print '%s remove me' % jid def gotMessage(self, fromjid, msg): ''' To be overidden ''' print '%s:[MSG]:%s' % (fromjid,msg) # deliver failed notification def failedMessage(self, tojid, error): ''' To be overidden ''' print '[Error]:%s' % error
本文永久链接:http://www.xiaokou.org/2006/04/01/59/
转载 请注明:来自小抠大赚-博客 [http://www.xiakou.org]