通过python发送即时消息(msn)

时间:2010-07-06 12:25:54

标签: python twisted msn

好的我很清楚还有很多其他问题,但我一直在寻找并且还没有找到一个可靠的答案,它不是围绕着jabber或更糟糕的事情。 (对jabber用户没有冒犯,只是我不想要它附带的所有额外内容)

我目前有msnp和twisted.words,我只想发送和接收消息,阅读了许多无法正常工作的示例,并且msnp记录不足。

我的偏好是msnp,因为它需要更少的代码,我不是在寻找复杂的东西。

使用此代码,我可以登录,查看我在线的朋友(虽然不能发送消息)。

import msnp
import time, threading



msn = msnp.Session()
msn.login('XXXXXXX@hotmail.com', 'XXXXXX')
msn.sync_friend_list()

class MSN_Thread(threading.Thread):
    def run(self):
        msn.start_chat("XXXXXXX@hotmail.com") #this does not work
        while True:
            msn.process()
            time.sleep(1)



start_msn = MSN_Thread()
start_msn.start()

我希望我已经足够清楚了,它已经很晚了,而且在所有这些msn受挫之后,我的脑袋并没有处于清晰状态。

编辑:因为似乎msnp非常过时,任何人都可以通过简单的例子推荐我如何实现这一目标? 不需要任何需要其他帐户的幻想。

3 个答案:

答案 0 :(得分:0)

你正在使用2004年放弃的图书馆,所以我不确定msnp是否还可以用来在MSN上讲话。
无论如何,我会尝试:

while True:
     msn.process(chats = True)
     time.sleep(1)

使用联系人ID而不是电子邮件地址。

contacts = msn.friend_list.get_friends()
contact_id = contacts.get_passport_id() 

您的代码只是在不发送任何内容的情况下开始聊天;你需要添加代码来发送消息 请查看this教程中的send_message方法。

答案 1 :(得分:0)

看起来papyon是pymsn库的维护分支,目前由telepathy-butterfly和amsn2使用。

  

papyon是一个MSN客户端库,它试图抽象出MSN协议的细节。它是未维护的pymsn MSN库的一个分支。 papyon使用GLib主事件循环以异步方式处理网络事件。

答案 2 :(得分:0)

还有用于gmail的xmpp。