> For the complete documentation index, see [llms.txt](https://docs.dmflow.chat/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dmflow.chat/chatbot/flow.md).

# 流程介紹

<figure><img src="/files/xE98UJUkRcI8QCLWhfqK" alt=""><figcaption><p>留言流程</p></figcaption></figure>

### 特點

* 可以用拖曳方式移動節點
* 測試可以直接測試第三方渠道，不用每次跑去第三方渠道測試
* 每個渠道都提供測試板和生產版，除了網頁只有生產版。

<figure><img src="/files/k5zfQf6vpcGhwFnak8RA" alt=""><figcaption><p>測試畫面</p></figcaption></figure>

<table><thead><tr><th>渠道</th><th data-type="checkbox">卡片模板</th><th data-type="checkbox">訊息文字</th><th data-type="checkbox">圖片訊息</th><th data-type="checkbox">影片訊息</th><th data-type="checkbox">語音訊息</th><th data-type="checkbox">檔案訊息</th></tr></thead><tbody><tr><td>LINE</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td><td>false</td></tr><tr><td>Messenger</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td></tr><tr><td>Telegram</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td></tr></tbody></table>

{% hint style="info" %}
Telegram卡片模板不支援多個。

機器人固定只能使用文字加按鈕輸出，其他需要用自定義JSON輸出，包含LINE的Flex Message。

(截止到1.0.51版本，仍沒實裝變數注入，只能使用固定的JSON輸出)

大致上跟以下連結提供相似，僅額外新增Flex Message，只是將變數注入移除。

<https://docs.communeify.com/tw/products/dmflow/tutorials/docs/bot-template.html>
{% endhint %}

{% hint style="warning" %}
開發機器人前須知

* 開始節點不代表歡迎節點，可以用/start呼叫。
* 回覆節點的中斷，原本是條件式裡面有意圖判斷，但雲端版移除了意圖，所以此功能效果不大。此功能的用途是當該節點fallback時，會找尋start節點輸出的branch條件有滿足的就前往。
* 當調用"/" 反斜線開頭的時候，後面接的場景可以直接跳往，假設你現在在場景A，機器人問你"你的留言"，當你想找資料時你輸入/B，完成/B之後，會跳回場景A並且重新詢問"你的留言"。轉向其他節點不代表是取消當前節點。
  {% endhint %}

{% hint style="info" %}
以下建議搭配DMflow\.chat進行操作。
{% endhint %}

### 資源節點

資源節點可以將對話擷取的實體調用其他API並返回，預設為同步，會等待獲得到對方返回的回應才進行下一步，此節點時間逾時為5\~10秒鐘。此節點調用內部API未來將不受限制。

同 [HTTP](/domain/formqa/trigger/http.md)

### 回覆節點

可以根據對方選擇語系，輸出不同語言(為何不用自動翻譯，因為有些專有名詞沒定義好會出問題，若需要多語言請調用領域)。

| 內容                                               | 解釋                                            |
| ------------------------------------------------ | --------------------------------------------- |
| 回答                                               | 你可以選擇多個回答，但會隨機選擇其中一個                          |
| 按鈕                                               | 按鈕的顯示文字，點擊動作分為文本、事件、連結。                       |
| <ul><li>文本按鈕</li><li>連結按鈕</li><li>事件按鈕</li></ul> | <p>回傳文字。<br>點選會開啟連結。<br>分為忽略、打斷、開始、結束、喚醒。</p> |
| <ul><li>忽略事件</li></ul>                           | 僅顯示按鈕顯示文字，DMflow會忽略這個事件                       |
| <ul><li>打斷事件</li></ul>                           | 可以跳轉到另一個場景                                    |
| <ul><li>開始事件</li></ul>                           | 回到主場景                                         |
| <ul><li>結束事件</li></ul>                           | 結束這個session                                   |
| <ul><li>喚醒事件</li></ul>                           | 進入聆聽模式時，使用這個按鈕無須喚醒句可以執行喚醒機器人。                 |
| 等待用戶回覆                                           | 此節點結束，等到下次用戶回覆才會繼續                            |
| 打斷啟動                                             | 當用戶下一個節點命中失敗後，會重新從開始時節找滿足的節點進入。               |

### 情境節點

| 內容    | 解釋                                                                                                    |
| ----- | ----------------------------------------------------------------------------------------------------- |
| 打斷    | 將當前場景sleep並且呼叫其他場景，其他場景完畢後會此場景會wake up繼續完成。                                                           |
| 重新開始  | 將此場景重新開始流程                                                                                            |
| 重回主情境 | 主情境一般為Main但是有些地方可以更改主情境，例如:Messenger的OPEN\_THREAD                                                     |
| 完成    | 一般節點結束都會自動調用完成，除了branch如果fallback時會直接拋出fallback訊息，假設你不想出現fallback訊息可以在後面接上完成。                         |
| 結束流程  | 直接結束                                                                                                  |
| 聆聽    | 當調用聆聽時，機器人會只接收訊息，但是如果訊息滿足子流程的話會調用子流程的節點，直到聽到你給定地喚醒句子才會結束聆聽。通常子流程會搭配資源節點。你可以透過此節點實現不同渠道聊天，或是呼叫一些資源監聽等。 |
| 跳轉    | 可以直接跳轉其他回覆節點(必須勾選等待用戶回應)                                                                              |

### 調用節點

調用節點大多是產品提供的API節點化，大多都可以用API調用

目前提供的包含

* 領域調用
* 事件註冊(提供廣播註冊)
* 事件註冊取消(提供廣播取消註冊)
* 連結帳號(將帳號連結到DMflow\.chat)
* 真人客服

### 變數節點

可以將取得的參數注入標籤、使用者資料以及單一會話儲存的節點。
