Python(MSN)を介してインスタントメッセージを送信する
質問
わかりました、私はこれについて他にも多くの質問があることをよく知っていますが、私は検索していて、ジャバーやより悪いものを中心に展開しない強固な適切な答えをまだ見つけていません。 (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は非常に時代遅れであるように思われるので、誰もがこれを達成する方法について簡単な例でお勧めできますか?他のアカウントを必要とする派手なものは必要ありません。
解決
Gmailに使用されるXMPPもあります。
他のヒント
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()
コードは何も送信せずにチャットを開始するだけです。メッセージを送信するためにコードを追加する必要があります。
見てください send_message
メソッドイン これ チュートリアル。
それはように見えます Papyon PYMSNライブラリの維持フォークであり、現在テレパシーバターフライとAMSN2で使用されています。
PapyonはMSNクライアントライブラリであり、MSN Protocol Goryの詳細を抽象化しようとします。これは、維持されていないPYMSN MSNライブラリのフォークです。 Papyonは、Glibメインイベントループを使用して、ネットワークイベントを非同期に処理します。