Blobsy:MSN聊天機器人

Bobsy雖然沒有什麼統計數據支撐,我相信台北人的網路生活,泰半是由瀏覽網頁、以及用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
chdir /dir/to/blobsy
/usr/local/bin/php ./bmain.php

而在第一次安裝完畢之後,其實大多數的工作,都可在命令列下執行,所以您可以不用將Blobsy放在網頁目錄下,移到別的地方,避免他人進入您的Blobsy管理介面中。另外如果您要將訊息中文化,請注意,MSN所使用的是UTF-8編碼。

9 thoughts on “Blobsy:MSN聊天機器人

  1. 蠻好奇的
    像這種資訊 zonble 你是去哪裡看來的呢??
    有一種 “還好在這裡看到了” 的感覺

  2. 想請問您:
    我依照官方文件安裝了blobsy,成功登入後啟動bot(另一個帳號),但是在我的msn上卻看不到bot上線,有可能哪裡有問題?
    謝謝

  3. Pingback: 乌托邦 | 感动中国

  4. Pingback: 小隆網管日誌

  5. Pingback: 有問必達 « Odds@Blog

Comments are closed.