切換
舊版
前往
大廳
主題

[教學]做一個簡單的養成機器人(使用特殊介面)

HAYATE | 2019-08-26 13:30:12 | 巴幣 8 | 人氣 597

對應這次巴哈的第一屆聊天機器人創作大賽
原本想說在空閒的時候能出一個簡單的範例給大家參考、比賽用
沒想到一忙起來就拖太久了,到今天才能出這篇

養成類一開始聯想到的,像是以前的怪獸對打機
我可以從孵蛋開始,然後我的寵物靠餵食等等會不斷的進化
依照進化的不同衍生出不同的功能
或是像寶可夢那樣,依照等級就會習得不同的技能等等

這次大概是做出這樣的功能給大家參考:
培養素質、消耗某些素質來提升能力、升級、依照等級或是屬性獲得不同的技能
特殊介面:畫面上血條、文字、按鈕的變動

我覺得這篇可能還是稍微硬了一點,
不會程式的朋友可以直接按步驟複製一個機器人來玩看看,
如果有想修改的地方都可以來問我~

總之先直接開始動手做吧!
先來實際做出來有成就感之後,我們再來看一下整個的說明

這次用到的平台&工具:google apps script,google試算表,postman
考慮到可能還是有人不熟,我還是更細的把步驟貼出來,
有基礎的人,大概只要貼上程式碼然後試算表對應的欄位要有就好了

1.  去哈哈姆特不EY後台創建你的bot(機器人
      就是填一填資料就OK啦!應該不用細講
      要注意的是建立好之後
      a.  這個機器人會自己加到你的哈哈姆特不EY好友,讓你方便測試
      b.  bot token 這一頁,之後需要用到這頁的Access Token、回填Webhook
      也可以看一下這裡
      站上有一篇文有介紹怎麼建立專案和做簡單的bot,感謝作者asdfgh419
    
2.  打開你的
Google Apps Script 建立一個專案
      我們會在這裡放程式碼
      所有機器人的動作、判斷、收發訊息、養成流程等等都會寫在這裡
     
      點擊"Start Scripting" -> 登入你的google帳號 ->點左上角“新增指令碼”
        
     這時候會長這樣:
    
3. 建立的試算表,並且新增:user分頁

    這裡要建立一個資料庫,主要是存使用者養成的寵物資料

    打開你的google 雲端硬碟,建立一個新的試算表
    點擊下方的+號新贈一個分頁叫做:user
    第一列放加入時間
    第二列放使用者 id
    第三列放入等級
    第四列放入飢餓度
    第五列放入戰鬥力
    大概會長這樣



     因為我寫的範例程式會去抓user這個分頁,然後機器人會按照上面的排序填表
     所以先照著做之後會比較清楚流程,之後想改再改程式或試算表的欄位

4. 把程式碼貼上去
    回到 google apps script
    新增三個空的指令碼檔案
    


    然後把我的程式:程式碼.gs 哈哈姆特.gs 資料.gs
    把裡面的內容分別複製貼上到新增的三個檔案上
    大概會長這樣
    
     
    
    程式碼.gs 主要是放了一些判斷還有整個養成流程
    哈哈姆特.gs 主要是放了和哈哈姆特不EY收發訊息的程式碼
    資料.gs 則是放了一些和讀取寫入試算表的程式碼
    可以不用跟我命名的一樣沒關係,只要三個檔案的內容都要放上去就好

5. 更改程式碼裡面的內容換成自己的
      根據上一張圖,紅色字體的部分,這裡有幾個地方要填入
    
      a. Access Token: 去哈哈姆特不EY後台,bot token 那頁找到他,然後貼上到程式碼
      b. sheetID:這個是在第二步驟裡,在試算表的網址上面找到這個部分:  
          .../d/這裡是id要複製下來貼到程式碼/edit....
      c. Cname:填入第一步驟裡註冊bot時,你設定的指令代號,比如說 /test
      d. imageId:這個是填入機器人會用到的圖片,可以用工具上傳,看這裡的第1~3步驟
      e. imageExt:這個是填入圖片的檔名,看d步驟可以拿到
    
6. 發佈
      點擊"發佈" -> 佈署為網路應用程式
      記得專案版本要改“新增”,應用程式存取權的使用者要選"任何人,甚至是匿名使用者"
      途中應該會跟你確認權限,記得同意
      接者就會看到這樣的畫面
    
      
      
      把裡面的網址複製下來,
      去哈哈姆特不EY後台,bot token 那頁找到web hook,貼上去這個網址
      然後按下“儲存修改”
    
7. 測試
     這樣應該都完成了,接下來就是去打開 哈哈姆特不EY app (特殊介面要在app上面才會有)
     去好友列表找到你的機器人
     輸入:"養成" ,或是點右上角的?按鈕

測試過了以後,來看一下大概寫了什麼東西吧

1. startMenu :這裡是設定要啟動特殊介面的畫面,引號內的文字可以自己換換看
2. doExCommand:這裡主要是當收到所特殊介面的指令時,對應的程式碼在哪(按下按鈕要做什麼),所以如果要增加什麼功能,這裡也要對應增加
3. mainMenu:特殊介面主選單,畫面上呈現的設定
4. FeedFood、Feed:特殊介面選擇 餵食 時,畫面上呈現的設定
5. Training、Train:特殊介面選擇 訓練 時,畫面上呈現的設定
6. sticker:這裡算是一個範例,只有等級三的寵物會出現貼圖按鈕,點按鈕以後會跑到這裡,可以自己玩玩看把裡面的程式碼換掉,自己設定新的功能
     
針對整個養成機器人要設計的東西,主要就是
1. 介面上畫面切換時要對應的元件、該長怎樣 (我是有先畫出來整個流程,再寫成程式)
2. 針對寵物資料的部分,在畫面上對應哪個時間點要去修改、存取

其實想了很久,不知道要怎麼說明比較好,
感覺走到這裡要能做出機器人就需要程式能力了orz
原本是想要做一個很方便大家使用的模組,甚至是不用寫程式也可以做出來
可能只要做流程設計和文字的更換就好了
但是我實在沒時間,而且感覺其實很多東西寫死在程式裡不用去拉資料,機器人反應會比較快
所以目前就只能了XD

如果有碰到任何問題都可以問我,不要客氣,我都很樂意回答喔!

創作回應

はるつき
放heroku啦
2019-08-26 18:31:53
HAYATE
好,如果我有空的話[e3]
2019-08-26 18:52:51

相關創作

更多創作