# Botpress 值得學習的部分 ###### tags: `botpress` `GSS` ## 特色 ### flows * 使用 flow 模式把 chat bot 的流程用圖型化顯示出來 ![](https://i.imgur.com/QLSYdPZ.png) * 使用節點來當作每一個流程,每個節點有自己的 Lifecycle 共分三個時間點 * On Enter(當進入節點時) * On Receive(當收到使用者訊息且此節點正在運作時) * Transition(條件判斷) ### hot reload * bot 更新後效果即時展現 ![](https://i.imgur.com/DUIOga9.gif) ### build in editor * 內建程式編輯器可以直接修改 bot * 可直接用程式寫出一個模組然後在 flow 使用 ### nlu * 目前只支援英文(中文的話要完全一模一樣) * 內建 nlu 可根據行為模式來找出可能的關鍵字 * Entity Extraction 可以幫你從一段文字中找出關鍵字,例如: 我要**從桃園**搭飛機**到仁川** 他會找到你的出發地跟目的地,入下 ![](https://i.imgur.com/MY9CPrU.gif) ### multi channel support * 支援多通道 * Facebook Messenger * Slack * Microsoft Teams * Skype * Website (Webchat) * Telegram ### 小功能 * QA介面 ![](https://i.imgur.com/k46bUfh.gif) 可以在這個介面直接新增一些使用者可能會問的問題並直接回覆 * build in webchat && debugger ![](https://i.imgur.com/Jr82aso.gif) ## 分析項目 * 總使用人數 ![](https://i.imgur.com/eVgGnaB.png) * 近兩週活躍使用者 ![](https://i.imgur.com/Jv3AlSV.png) * 過去一週的使用者性別 * 過去七天使用最忙碌的小時 * 過去七天仍持續使用的使用者 ## 缺點 * channel 支援不完善 ### 卡片格式 <hr/> 以 messenger 來舉例好了,在 botpress 中的模擬器中我傳送一張卡片,這個卡片單純只有文字 ex: ![](https://i.imgur.com/aJUQSek.png) 這樣的卡片在模擬器中是可以傳送的,但 messenger 那邊一張卡片的按鈕數兩最多三個最少一個,所有就會顯示錯誤,但使用者都不知道 ex 太少: * 在模擬器: ![](https://i.imgur.com/aJUQSek.png) * 在 messenger:(顯示不出來) ![](https://i.imgur.com/mXcKvAq.png) * log: ![](https://i.imgur.com/0IlBLSZ.png) ex 太多: * 在模擬器:(這個有四個按鈕,但模擬器也只能顯示三個,但至少顯示的出來) ![](https://i.imgur.com/7OxyaRj.png) * 在 messenger:(顯示不出來) ![](https://i.imgur.com/mXcKvAq.png) * log: ![](https://i.imgur.com/aipHBOq.png) ### 附件 <hr/> 還有像 messenger 如果要顯示照片的話必須先將照片傳到 messenger 那邊,messenger 會回傳一個照片的 url,我們在用那個 url 放在卡片上,這樣 messenger 那邊才能正常顯示。 但 botpress 這邊就沒有這樣做 * botpress 模擬器 ![](https://i.imgur.com/0wqfuyn.png) * messenger ![](https://i.imgur.com/wCxyKHC.png) * 要新增其他 channel 時要直接去改 config,不像 ldl admin 可以直接在介面改