之前想寫個 MSN 機器人,結果花了兩天的研究時間之後宣告放棄
因為現在看到的 MSN Library 功能都有些不足
看來有空自己刻應該會比較好一點吧 XD 畢竟 MSN 都已經公開 Protocol 了....

我先介紹一下我用過的 MSN Library ,讓有興趣的人可以研究看看吧

1. libmsn
  這在 Freebsd ports 裡面有,在 /usr/ports/net-im/libmsn ,功能在當時還算滿完整的
  是用 C 寫的 library ,像是以前的 centericq 就是用 libmsn
  不過從 2005 年到現在很久沒更新了,很多功能像是 「個人訊息」、「P2P傳檔案」、「顯示圖片」、「離線訊息」 等功能都已經不支援了
  他只支援到 MSNP8 而已 (現在已經到 MSNP15了)

2. libpurple
  Pidgin 是一套功能很完整的 GUI 的 MSN 程式,而且到現在持續都有在更新中,他有將其中 MSN Library 分離出來,名字就叫做 libpurple
  libpurple 是用 C 寫的,也有人包成其他語言的 Library 來用,像是 Ruby 的 rupurple, php 的 phpurple
  功能雖然很完整,但是還是有缺少一些功能,像是他傳檔案只支援透過 Server 傳檔,還不支援 P2P 傳檔,所以速度較慢一點
  最重要缺少的一點功能是,他不支援更改暱稱 (其實有更改暱稱的函式,但是這函式只能用 gtk 去呼叫,沒辦法在 console 下呼叫...)
  另外在 Freebsd ports 裡面的版本預設是不支援「個人訊息」(就是可以輸入心情的那一串)
  在編譯前要去改 configure 裡面,把 enable_msnp14=no 改成 enable_msnp14=yes 才行
  這邊是寫死在 configure 裡面的,所以沒法透過 Makefile 那邊加參數修改
  編完後除了可以抓和修改個人訊息以外,也可以編輯聽音樂資料
  (只是不能改暱稱這點真的是很大的問題....)
  另外他雖然有支援離線訊息,但是離線訊息好像有時候會造成 core dumped
  這邊用的版本是 2.4.0 ,以後有新版有沒有解決這些問題就不確定了。

3. pymsn
  這是用 python 寫的,不同於上面兩者這是一個熱血人寫的,而且他的目標還滿大的,
  目前顯示圖示、個人訊息、離線訊息功能都有,甚至自訂表情符號都可以加入
  他的目標是要把 P2P 傳檔都寫進去
  只是這套目前有個很大的問題,就是在遇到你被人家加好友時,他會自動加進來,完全沒有選擇拒絕的餘地
  這點對 MSN 機器人來說算是很大的問題吧
  使用版本是 3.1

之前花了滿多天試這幾套,最後結果是宣告放棄
不過現在 MSN 已經公開 Protocol 了,如果要直接用 MSN Protocol 來寫想要的功能應該也不難
以後有多點空閒時間再自己寫好了
創作者介紹

Ronny's BLOG

榮尼王 發表在 痞客邦 PIXNET 留言(0) 人氣()