其實一開始只是想研究msn plus script,但是後來想到之前有一隻script是把個人狀態留言同步傳送給twitter,那我乾脆來個逆向操作,把twitter 的最新留言餵給我的訊息。
今天測試的時候一開始要先研究他的觸發事件,於是我設計了各種觸發的事件,但是對應的動作都是"對美瑜說hi"。例如假設事件是"使用者登入",那我只要登入就會對美瑜丟一個訊息"hi"。我反覆測試各種事件,玩的不亦樂乎,但後果是...差點被她封鎖= =|||
後來一切都搞定後,又寫了一個自動猜拳程式,其實是判斷對方出甚麼,再給予適當的回應。非常簡單的程式,虛擬碼如下。
當收到訊息時(訊息) { if(訊息=="剪刀") { 回應("石頭"); } else if(訊息=="石頭") { 回應("布"); } else if(訊息=="布") { 回應("剪刀"); } }
於是我又找美瑜來測試,每次都贏(廢話),我想她快被我搞瘋了吧。再過幾天就要教師檢定的人還是少惹為妙。
沒關係,我還有法寶可以玩,那就是我一開始說的Twitter!趕快去爬twitter的API,發現也是非常簡單的協定,現在所謂的網路的Open API幾乎都是XML的協定傳送而已。
function Twitter(Username, Password, id) {
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("GET", "http://twitter.com/statuses/user_timeline/"+id+".xml", false, Username, Password);
xmlHttp.send("count=1");
var xmlDoc=xmlHttp.responseText;
xmlMailParser = new ActiveXObject("Microsoft.XMLDOM"); xmlMailParser.async="false" xmlMailParser.loadXML(xmlDoc);
var feed = xmlMailParser.documentElement;
return feed.getElementsByTagName("text")[0].text;
}
短短的幾句,就能夠把Twitter最新的一則訊息的文字取出來。再配合"Timer"設定每五分鐘執行一次,並把結果餵給個人狀態就可以囉。
其實對於這種網路提供的API真的很喜歡,因為使用簡單,而且它提供我與伺服器互動的管道,可以自己寫程式自動化處理一些瑣事。其實寫這篇的時候就想到了一個點子:msn 的blog更新時不是會有小星星嗎?但是其他的blog使用者怎麼把最新的一篇文章顯示給msn的朋友知道(不要說手動改,這樣會抹煞寫這些程式的意義)?我想到用Google Feed API+Messenger Plus! Live scripting就可以完成,看是要放最新一篇的標題還是摘要都可以。
個人認為,這些API的妙用就在於"結合"各種服務,以達到更多的效益。
我之前想得太複雜了,直接用Blogger Data API 就可以了。
回覆刪除現在我的訊息列會顯示最新的文章篇名,還順便加上"現正跟誰聊天"的功能。
你好啊~請問閣下這篇是用什麼開發環境寫的哩?
回覆刪除因為最近寫程式需要使用到twitter api,但是從沒開發過所以很困擾,所以向閣主請教一下。
To mion:
回覆刪除你好,我是使用msn plus 裡面的指令碼編輯器寫的,使用的是JScript。
有需要其它的文件的話可以參考http://www.msgpluslive.com.tw/scripts/view/13-Official-Scripting-Documentation/
謝謝。
謝謝你閣主,我會試看看的:)
回覆刪除另外我想請教一件事,twitter有提供api嗎?
因為巴布有提供,但twitter不知是我英文實在太差還是我不會用
我一直找不到它的api網址,如果閣主知道有api之類的東西的話,能告知我就實在太好了。
p.s 因為我卡在asp.net ajax呼叫不到js,想到原來的方法→用api抓訊息。
API 在這裡(首頁的下方有連結)
回覆刪除http://groups.google.com/group/twitter-development-talk/web/api-documentation
內有說明,主要是回傳xml的格式。
加油吧 :)
這頁我也有看到,不過我套用了一下發現asp.net還是沒東西
回覆刪除不過我用巴布的API卻可以顯示我的訊息
所以我想我大概是英文不行吧(見笑了)
閣主謝謝你,我恐怕還得要繼續研究好一陣子!
台灣MSN PLUS!LIVE討論區 邀請您~
回覆刪除http://www.type24.net/forum/index.php
3分鐘學會使用程式發送msn訊息,php篇(一)
回覆刪除http://rd-program.blogspot.com/2008/11/5msnphp.html
3分鐘學會使用程式發送msn訊息,dotNet C#篇(二)
http://rd-program.blogspot.com/2008/11/3msn-net-c.html
3分鐘學會使用程式發送msn訊息, Java篇(三)
http://rd-program.blogspot.com/2008/11/3msn-java.html
3分鐘學會使用程式發送msn訊息, Perl篇(四)
回覆刪除http://rd-program.blogspot.com/2008/11/3msn-perl_14.html
3分鐘學會使用程式發送msn訊息, VB6.0篇(五)
http://rd-program.blogspot.com/2008/11/3msn-vb60.html