首页 > 技术研究 > gtalk机器人开发指南

gtalk机器人开发指南

2006年4月1日

gtalk机器人很火,twitter类网站基本上都支持,原因只有一个

gtalk采用了jabber协议,这个是一个开放性协议,一堆开源代码包,所以比较好开发

我贡献一个python脚本程序,基于jabber.py

  1. Gtalk采用了xmpp协议,文本聊天基本上是xmpp的一个子集,同时在连接采用了TLS来作为安全措施。
  2. 但是gtalk对标准的jabberd通讯协议做了一些修改
    from GtalkClient import JabberConnection
    jbc =JabberConnection('gmail.com','name','pwd','group')
    while 1:
    jbc.run()
  3. name,pwd分别填写gtalk的账号,group的值随便添,是xmpp协议的概念 JabberConnection里面定义了一些事件响应函数,只做了简单的处理,你可以新建一个继承于JabberConnection的子类,重载事件函数.
  4. 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]
分类: 技术研究 标签: , , , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.