Blobsy:MSN聊天機器人
雖然沒有什麼統計數據支撐,我相信台北人的網路生活,泰半是由瀏覽網頁、以及用MSN Messenger與人在線上直接對話傳訊所構成的。如果您也是每天打開電腦就自動連上MSN的話,那麼除了新增各種心情小圖示(smilies),或是想辦法抓到什麼去廣告可多重開啟的修改版之外,不妨看看MSN還有什麼其他可能的玩法。
Blobsy是由Maldivian Underground的Jawish Hameed所開發,使用PHP所寫成的MSN聊天機器人,是使用GPL授權的自由軟體,只要是能夠執行PHP的平台(包括Windows以及*nix),均可使用,最新版本是在今年一月時釋出的1.5版。雖然說是機器人,不過Blobsy並不是所謂的Chat bot,那種可以根據你所說的話,自動作語意分析判斷,從語料資料庫當中讀取資料答話,讓您在無聊的時候假裝有人可以陪你聊天那樣的機器人,而是當機器人上線時,您可以透過MSN傳訊軟體,在對話中用一些簡單的指令,要求機器人幫你做一些事情,以內建功能來說,您可以要求機器人幫你上Google查資料。而這些指令都是由一個個簡潔的模組(module)所組成,所以只要您稍微懂一些PHP,那麼便可以輕易開發出自己所想要的功能。
比方說,目前線上就有一個我用Blobsy執行的機器人:zonble@hotmail.com。我所使用的Blobsy是在1.5版的基礎上,除了做了些中文化之外,加了一些自己所撰寫的小模組,包括:可以讓機器人從這個網誌站台抓取RSS資訊,幫我取得站上的最新文章列表,或從del.icio.us網站上,取得我最近存放在遠端的書籤(關於del.icio.us,請參見tm所寫的〈值得注意的共用書籤系統 del.icio.us〉),還有透過PHP當中的mail()函數,寫了一個轉寄訊息的功能,如果我不在線上的話,您可以將想告訴我的事情傳訊給機器人,機器人便會將這個訊息轉寄到我的信箱。
此外我加了一小段可以將對話訊息儲存在MySQL資料庫當中的程式碼,如此一來,當有許多人都將這個機器人加入好友名單時,便可以讓這個機器人,成為一個小小的留言版,而我另外弄了一個PHP網頁。從資料庫當中選取資料,那麼便可以在網站上顯示這些透過機器人儲存的訊息,也就是您在本站首頁上,在左側下拉選單中所看到的「MSN機器人留言版」功能,這麼一來,似乎就有點像是透過MSN寫Blog,當我有事情需要快速筆記,又懶得開啟瀏覽器的時候,那麼只要跟機器人隨意「講」一聲,便會幫我放在網頁上,如果搭配MSN Mobile,似乎也就成了另外一種Moblog的解決方案。我想,只要再稍微改寫一下,也可以成為像WordPress之類以PHP開發的網誌工具系統的一部份。
在安裝方面,網站上說系統需求只要PHP 4以及webserver,說得並不夠清楚,實際上Blobsy還需要使用MySQL資料庫,用來儲存機器人的執行狀態以及好友清單,不過PHP的發展似乎與MySQL密不可分,所以有裝PHP的平台,往往都有MySQL。此外,您必須要有在命令列(CLI)執行的PHP程式,而不僅只是網頁伺服器的PHP模組而已,換言之,如果您是在FreeBSD上用ports安裝PHP,您不該只是安裝/usr/ports/www/mod_php4,您應該要裝/usr/ports/lang/php4,如此才能夠執行Blobsy。
Blobsy提供一個網頁形式的安裝與管理畫面,安裝時主要就是設定您的MSN帳號,指定PHP程式路徑,以及新建幾個MySQL資料庫欄位,管理畫面包括啟動與關閉機器人等,畫面清爽,安裝還算容易。而在啟動Blobsy的時候,除了可以用網頁介面外,最簡單的方法就是在Blobsy目錄下,直接下指令:#php ./bmain.php,要機器人斷線,就是把這個執行程序關閉即可。而如果您希望機器人一直保持上線的話,因為Blobsy畢竟不是背景服務程式,所以在執行時會三不五時斷線,您如果在別的地方以與機器人相同的帳號登入MSN時,機器人也會斷線,我目前的解決之道是在crontab中,每天定期重新啟動Blobsy,而您要執行bmail.php,一定要在Blobsy目錄下(因為會呼叫到其他檔案),所以在這個自動重新啟動的script中,需要先chdir到程式所在目錄,例如:
#!/bin/sh<br />
chdir /dir/to/blobsy<br />
/usr/local/bin/php ./bmain.php
而在第一次安裝完畢之後,其實大多數的工作,都可在命令列下執行,所以您可以不用將Blobsy放在網頁目錄下,移到別的地方,避免他人進入您的Blobsy管理介面中。另外如果您要將訊息中文化,請注意,MSN所使用的是UTF-8編碼。
蠻好奇的
像這種資訊 zonble 你是去哪裡看來的呢??
有一種 “還好在這裡看到了” 的感覺
1. 來自 Ken 的 迴響留言 — 2004 年 3 月 16 日 @ 2:39 pm
真好玩。
2. 來自 mulberry 的 迴響留言 — 2004 年 3 月 17 日 @ 3:22 pm
我看東西的地方很多…。不過Blobsy的話,我記得是在del.icio.us上看到的。
3. 來自 zonble 的 迴響留言 — 2004 年 3 月 18 日 @ 4:14 am
god
真的讓我有大大落後時代的感覺呢 。
4. 來自 farg 的 迴響留言 — 2004 年 3 月 18 日 @ 10:06 am
写得挺好!
5. 來自 666 的 迴響留言 — 2004 年 4 月 14 日 @ 2:28 pm
想請問您:
我依照官方文件安裝了blobsy,成功登入後啟動bot(另一個帳號),但是在我的msn上卻看不到bot上線,有可能哪裡有問題?
謝謝
6. 來自 Cyrus 的 迴響留言 — 2004 年 5 月 7 日 @ 10:18 pm
MSN Messenger 机器人
既然这么多人是通过搜索引擎查找“MSN 机器人”找到我的站点的,那我也就继续帖这方面的资料不让大家失望好啦! 今天下午在台湾的 zonble’s @rsenal. 看到了关于 Blobsy 的介绍。大家好好看看
7. 來自 乌托邦 | 感动中国 的 Trackback — 2004 年 3 月 18 日 @ 5:22 pm
MSN bot…
最近三天我在研究 MSN 聊天機器人,主要是由
maldivianunderground 所開發的這一隻 Blobsy 機器人,他們也提供論壇給使用者互相討論。這一隻機器人是純粹用 php 所寫成,搭配 MySQL 可以記錄該機器……
8. 來自 小隆網管日誌 的 Trackback — 2005 年 12 月 31 日 @ 12:42 am
[...] 這裡有MSN機器人的實作方式 [...]
9. 來自 有問必達 « Odds@Blog 的 Pingback — 2007 年 9 月 5 日 @ 12:00 pm