快速實作一個聊天機器人
沒有做過聊天機器人可以先閱讀以下文章
[達人專欄] 製作哈哈姆特不 EY 的聊天機器人!架設原理概述 作者:解凍豬腳 (johnny860726)
巴哈聊天機器人 簡單範例 作者:梯太 (asdfgh419)
【心得】Golang簡單串接哈哈姆特 作者:破狐狸OuO (abbc45255)
【心得】讓機器人多記一點東西吧 作者:馬路上的一坨瀝青 (Styuiw112233)
哈哈姆特bot教學系列 作者:Hayate(k0783237)
小說查閱機器人教學系列(1)(2)(3)(4)(5)(6)(7)(8)(9)(final) 作者:敵會跪 (jack12345520)
Ruby on Rails 串接哈哈姆特 ,Ruby Gem 作者:蒼時弦也 (abr0616)
Google Apps Script 一些程式碼 作者:Zn₂Fe(PO₄)₂•4H₂O (sp21804173)
讓聊天機器人(bot)串接哈哈哈姆特不EY
認識API
什麼是API?
Application Programming Interface 應用程式介面 簡稱API,
在哈哈姆特不EY,我們開放大部分的聊天功能api給外部的程式設計者進行使用。例如:傳送訊息
以傳送訊息為例子:
未開放此api的情況下:要進行傳送訊息必須要使用者(巴友)登入帳號,並且使用哈哈姆特不EY提供的聊天介面自行打字發送訊息給對方。
而開放了傳送訊息api:使用者只要寫一個聊天程式就可以不用開啟哈哈姆特不EY的介面,也不用自行打字,使用api就能發送訊息出去。
認識webhook
什麼是webhook?
是一種通過自訂回呼函式來增加或更改網頁表現的方法。
在哈哈姆特不EY,當使用者對您的bot發出了訊息,事實上並不是直接將訊息發送至您所撰寫的聊天程式,
而是會在我們的聊天伺服器裡,透過您至後台填入的 webhook 得知您伺服器於網路上的位址,方能將訊息傳送至您的bot聊天程式。
如何讓我的bot能夠接收到從哈哈姆特不EY發送出來的訊息?
哈哈姆特不EY會以Http通訊協定 中 POST 的方式,將事件、發出訊息的使用者id、訊息內容..等等打包後,透過webhook將其發送至您的bot。
請至 接收webhook事件 頁面查看我們發出的事件格式、相關注意事項與範例。
如何讓我的bot能夠發送訊息至哈哈姆特不EY?
請依照我們提供的範例為範本,將相關所需內容以JSON 格式打包,並使用我們提供的API,以 POST 要求的方式將其發送。
請注意,必須於API網址加上?access_token=您註冊的access token。 access token 位於開發者後台的bot token分頁中。
更多詳情,請至傳送訊息 頁面查看相關注意事項與範例。
請參考我們提供的範例。
更多詳情,至傳送訊息 頁面查看相關注意事項與範例。
如何讓我的bot能夠發送圖片至哈哈姆特不EY?
首先,您必須將圖片上傳至我們的server。請向 API 提交 POST 要求並以表單資料的方式將圖片上傳。
上傳成功後,我們會回傳給您該圖片的id,ext...等等相關使用資訊,再將此圖片資訊依照範例格式送出。
更多詳情,請至傳送訊息 頁面查看相關注意事項與範例。
什麼是特殊介面?
哈哈姆特不EY提供一種互動介面,可以讓開發者更有彈性的開發bot,而不只是侷限於文字指令的互動。
此互動介面提供遊戲常見的血條、圖片、文字、按鈕等元件,開發者能隨時更換元件的內容或是關閉該元件不顯示。
實際運作情況可以參考官方柚子機器人,對其輸入:問答。
*特殊介面目前僅支援APP版哈哈姆特不EY
如何讓我的bot發出使用特殊介面訊息?
請參考我們提供的範例。
更多詳情,至傳送訊息 頁面查看相關注意事項與範例。