切換
舊版
前往
大廳
主題

[教學]做一隻更懂人話的哈哈姆特bot(機器人)

HAYATE | 2019-05-15 17:31:18 | 巴幣 40 | 人氣 670

來做一隻更懂人話的哈哈姆特bot吧!
教你如何串接歐拉蜜和哈哈姆特

Q : 歐拉蜜是什麼?
A : 可以幫你做NLP 也就是自然語言處理的服務,它的好處是有自己寫好的模組能用(如果有空再介紹)

Q : 這樣有什麼好處?
A : 沒有做NLP 的bot,總是會讓人覺得很笨一定要跟他說特定的話才會回應,做了NLP之後會讓bot看得懂更多你說的話

以下開始介紹吧!
  1. 先去歐拉蜜註冊帳號
    我自己沒有走手機認證,因為他簡訊一直沒寄來,只要信箱認證就可以用了。
       
  2. 創建一個應用
    以下是我創的,我都隨便打的(感覺名稱和描述隨便打感覺也沒什麼差?)
    總之就按照你自己的想法去設定她吧
  3. 拿到 App key &App secret
    看上圖,把上面的App key &App secret 記下來。
    這東西主要是你的機器人跟歐拉蜜做對接時要驗證身份用的
       
  4. Google apps script 建立專案
    點擊"Start Scripting" -> 登入你的google帳號 ->點左上角“新增程式碼”
    站上有一篇文有介紹怎麼建立專案和做簡單的bot,所以這邊就不再多說了,
    感謝作者asdfgh419

  5. 把程式碼貼上,並且把裡面的 App key &App secret 換成剛剛拿到的
    點左上角”檔案“ -> 新增 -> 指令碼檔案
    檔案名稱隨便你命名,重複做3次新增3個指令檔案(等下要用到),

    然後去 這裡提供我寫的簡單code!(裡面有註解告訴你在幹嘛!)
    分別把:歐拉蜜.gs、 bot.gs、 md5.gs 這三個檔案的內容複製貼上到
    你剛剛創的三個檔案裡面

    記得要把ACCESS_TOKEN 換成自己的喔(哈哈姆特後台->bot token 裡面有)!

    記得要把App key App secret 換成 步驟3 自己的喔!

       
  6. 發布
    把他發布成應用程式
    點擊"發佈" -> 佈署為網路應用程式
    記得專案版本要改“新增”,應用程式存取權的使用者要選"任何人,甚至是匿名使用者"喔!
    然後發佈它,
    發佈後 記得要把網路應用程式網址複製下來 -> 貼到哈哈姆特後台的web hook
       
  7. 完成啦!
    測試看看你的bot吧XD
  
拿我自己做的歐比王當例子,串完以後大概會長這樣:

也可以問他天氣,這個是歐拉蜜內建的模組:


做到這邊會發現有問題,有些回答感覺只回答一半,或是壞掉的感覺,像是輸入“幫我找妹子

因為其實它內建了很多模組,像是問天氣、講笑話,有些是需要兩段回話的
而主要是因為上面的code只有做這樣的事情:
使用者發話 -> 你的bot把話轉發到歐拉蜜 -> 歐拉蜜回覆bot -> bot把話轉發回給使用者

所以像講笑話這類,是要對歐拉蜜回覆bot的訊息去判斷屬於哪種特殊的對話,
或是歐拉密其實回了bot兩段話,我們需要額外處理,
有興趣的可以自己試試處理看看,不太難。

如果只是想讓他能聊天,其他模組不需要的話:
去應用的設置面板->點下方變更設定,然後按照下圖只開這兩個模組->儲存設定


以上,就先介紹到這邊囉~ 有問題可以在下方留言或私訊我!
喜歡的話也可以 Donate 我,就算只有10元喝飲料錢,我也會非常感謝的!!


創作回應

月讀
請問一下, 是三個檔案都佈署為網路應用程式嗎, 那巴哈後台要填哪個網址才好
2019-06-27 14:23:46
HAYATE
只要做一次就好了,部署成功後會出現這樣的畫面,把裡面的連結貼回巴哈後台
https://truth.bahamut.com.tw/s01/201906/8bce96fa43652a940fbe2a40c5d4a58e.JPG
2019-06-28 14:02:58
月讀
歐拉蜜.gs、 bot.gs、 md5.gs 這3個哪一個要佈署成網路應用程式呢?
2019-06-28 16:18:09
HAYATE
三個檔案都在同一個專案下的話沒有差喔~ 只要按發布->部署為網路應用程式就會一起被發佈了,他是發布整個專案。還是不行的話可以私訊我喔~
2019-06-28 16:45:52
月讀
但是為何三個檔案的網路佈署網址會不一樣呢...
是任意選一個就可以了嗎?
2019-06-28 20:24:15
HAYATE
感覺你建了三個專案了? 三個檔案在同一個專案裡網址應該要是同一個才對
2019-06-28 23:27:30
Eric
請問要怎麼更改愛拉密說的話?
2019-08-14 12:53:42
HAYATE
要使用NLI模組 去設定文法,可以參考這一篇
https://medium.com/@zaoldyeck9970/add-custom-skill-into-chatbot-cef9bfeeef52
2019-08-14 15:18:33
比爾克
你的教學寫得很棒,覺得你很適合做板主!
2019-09-12 19:00:37

相關創作

更多創作