2005-12-12

使用Python开发Msn机器人[支持Msn协议MSN Messenger Protocol的Python库]

前些日子为了开发GTalk(Google Talk)机器人找了下支持Jabber/XMPP协议的Python库,其中的Twisted Words也支持Msn协议MSN Messenger Protocol,不过那个库还需要Twisted Core,而Twisted Core还需要Zope,有点麻烦,所以我没采用。

昨天试了下Msnp.py,试验成功。

import msnp
import time

class MsnChatListener(msnp.ChatCallbacks):
def message_received(self, passport_id, display_name, text, charset):
print '%s: %s' % (passport_id, text)
self.chat.send_message(text, charset)

class MsnListener(msnp.SessionCallbacks):
def chat_started(self, chat):
callbacks=MsnChatListener()
chat.callbacks = callbacks
callbacks.chat = chat
def state_changed(self, state):
if state == msnp.States.ONLINE:
print 'You are now online.'

msn = msnp.Session(MsnListener())
#输入你的Msn帐号密码
msn.login('XXXXXX@gmail.com', 'XXXXXXX')
msn.sync_friend_list()
while True:
msn.process(chats = True)
time.sleep(1)
这个代码运行后,会把收到的信息再按照原样发给发送者,目前没有加入自动接收加入好友申请的代码。

Technorati Tags: , , , ,

请不要吝惜您的评论,每一条评论,都是我在漫漫长夜前行的力量

7 条评论:

Anonymous zysno1 说...

问个题外话, 如何才能申请donews的站外blog??

我没找到类似的页面和邮箱:)

谢谢

2:24 下午

 
Blogger tiny 说...

联系刘韧吧
e-Mail:liuren#donews.com
MSN:donewsliuren@hotmail.com

2:30 下午

 
Anonymous wdy 说...

Twisted 1.3不需要zope

5:13 下午

 
Blogger tiny 说...

这个细节我就不了解了……

以后研究研究

5:16 下午

 
Anonymous amou 说...

得看看源码,用代理就是比较烦啊~

1:59 下午

 
Anonymous 揭弊者 说...

胖子,这不就是教程里面的代码么?

9:16 下午

 
Blogger tiny 说...

有人说不是么?

11:33 下午

 

发表评论

<< 主页