► 介紹
你也可以從哈哈姆特私訊的「神秘好友」欄位找到這隻機器人
我們都知道小屋一直有個「勇者造型相本」的功能,可以把你目前身上穿的勇造組合給儲存下來。這個功能算是比較老舊的東西,每個帳號最多只能儲存 20 組勇者造型,只要達到上限就只能把既有的給砍掉來騰出空間了,不算好用。
這個聊天機器人的作用很簡單,就是用來儲存你目前身上穿著的勇者造型,可以部分取代原本的勇者造型相本功能。只要對這個聊天機器人輸入指令「/avatar」,它就會把你的勇造直接存在你們的聊天對話裡,同時列出你目前身上穿的勇造配件列表:
和勇者造型相本不同的是,除了自己的勇造以外,如果你看到了別人的勇造很可愛很實用,想要留著拿去滿足其他的用途,勇者造型小幫手還可以幫你把別人的勇造儲存下來。
只要在「/avatar」後面加上目標的帳號(中間一個半形空格),它就會幫你把對方的勇造存下來,並且把搭配的列表一條一條列給你看:
這樣一來,以後每當想對照自己以前的勇造穿搭,只要打開哈哈姆特、點開勇者造型小幫手,就可以從對話紀錄看到自己過去儲存下來的勇造了。
比較一下兩者功能的差別:
► 運作環境、開發考量
主機商:Heroku
程式語言:Golang(Go 語言)
資料庫:Google Apps Script @Google Sheet
原理很簡單,就是讓我的伺服器做下面這三件事:
1. 把你現在的勇造圖片存下來
2. 把勇者造型列表讀取出來之後整理好
3. 藉由機器人把上面這兩樣東西回傳給你
其實單單只是想要達成前面這兩件任務的話,跟聊天機器人本身關聯並不大——正如剛才說的,要把它開發成一個獨立的網頁也行,就好像深海異音的勇者查詢系統也是個獨立的爬蟲服務,不必仰賴聊天機器人。
只是,哈哈姆特的聊天室有幾個特性,讓我覺得很適合把這個勇造的服務綁在哈哈姆特的機器人上面:
1. 哈哈姆特的聊天室自帶圖床,而且這個圖床還內建了檔案的 hash 檢查功能(註),節省資源
2. 透過哈哈姆特的管道,我可以很明確地知道是哪個巴哈帳號使用這個服務,而不是站外的有心人士惡意濫用
3. 大家不用知道我的主機網址,只需要打開巴哈的私訊功能就可以找到它,並且直接使用
4. 我開發起來很輕鬆,不必刻介面刻到昏頭,媽的前端
註:在聊天室上傳圖片的時候,巴哈姆特的伺服器會檢查先前是不是有人上傳過一模一樣的圖片,如果有的話就直接挪用舊的圖片連結
其實本來有考慮獨立開發一個專用的巴哈勇造相本服務,讓大家可以共同閱覽這些相本,甚至可以連動巴哈的系統來做個按讚的功能、勇造的排行什麼的,這樣也能解決它不能個別刪除、個別調整閱覽權限等等的問題(無法個別刪除是受到哈哈姆特聊天室的先天限制)。
不過因為我沒有自己的伺服器和資料庫,擔心只憑 GitHub、Heroku、Firestore 的免費資源會不太好控制成品的品質,再加上我從來沒有建置過這種非個人使用的服務,還沒有一定的把握可以保證這些資源不被濫用,所以目前就只能先維持這樣了,如果我還有什麼鬼點子再來找時間開發吧。