### 3.2.3 詞語接龍
#### (1) 功能說明
詞語接龍游戲,通過喚醒語“詞語接龍”進入游戲,然后與機器人共同完成詞語的接龍,同音字亦可。游戲過程可以“退出”,“再來一局”等指示命令重置游戲,依次進行,直到主動退出或一方被打敗游戲結束,結束后給出統計分數。
#### (2) 接口說明
**請求方法**
* POST
**請求地址**
* [http://api.ruyi.ai/v1/message](http://api.ruyi.ai/v1/message)
**請求參數說明**
| 參數名 | 參數類型 | 是否必須 | 參數說明 |
| :--- | :--- | :---: | :--- |
| q | String | 是 | 自然語言表達,例如“詞語接龍”,"再來一局"等 |
| app\_key | String | 是 | 應用開發者秘鑰,注冊開發者后臺賬號,建立虛擬助理后獲得 |
| user\_id | String | 是 | 用戶唯一標識,便于支持個性化語義解析。建議開發者使用 UUID 字符,且不同用戶必須用不同的 user\_id,防止意圖串。 |
#### (3)返回說明
**返回參數說明**
| 名稱 | 類型 | 說明 |
| :--- | :--- | :--- |
| code | Integer | 返回代碼 |
| msg | String | 返回代碼描述 |
| parameters | JSON Object | 解析到的實體以及服務說明 |
| action | String | 服務的接口名稱 |
| name | String | 匹配的意圖名稱 |
| result | JSON Object | 接口返回內容 |
| outputs | Array | 服務輸出結果,微信端使用 type 類型為 wechat 開頭的內容;硬件端收到所有內容,依據需求解析使用 |
**返回代碼說明**
| 返回代碼 | 錯誤類型 | 說明 |
| :--- | :--- | :--- |
| 0/200 | 成功 | 請求成功 |
| 400 | 無效請求 | 某些必需參數缺失或參數值錯誤,詳見 msg 字段 |
| 401 | 未授權 | 授權失敗,app\_key缺失或錯誤 |
| 403 | 請求被禁止 | 有效請求,但服務拒絕響應,請聯系contact@ruyi.ai |
| 408 | 請求超時 | 請求響應超時,一般響應時間設置為2000ms以內 |
| 429 | 短時間內大量訪問 | 短時間內請求數過多 |
| 500 | 內部錯誤 | 服務處理異常 |
| 503 | 服務不可用 | 服務異常或正在維護 |
#### (4)請求示例
**請求范例**
_詞語接龍;春天_
_你好_
_哈哈_
_再來一局_
_退出_
**請求示例進入游戲**
(游戲開始)
* [http://api.ruyi.ai/ruyi-api/v1/message?app\_key=APP\_KEY&user\_id=user0&q=我要玩詞語接龍](http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=我要玩詞語接龍)
返回結果
```json
{
"code": 0,
"msg": "ok",
"result": {
"_text": "進入詞語接龍",
"msg_id": "525c5c27-0360-44e2-8f89-a20aaadda900",
"intents": [{
"parameters": {
"service": "ciyu"
},
"action": "no_action",
"name": "進入詞語接龍",
"result": {
"text": "歡迎來玩詞語接龍游戲, 請您說一個詞語。如果要結束游戲,請說【退出】;如果要重新開始,請說【再來一局】",
"type": "dialog"
},
"outputs": [{
"type": "wechat.text",
"property": {
"text": "歡迎來玩詞語接龍游戲, 請您說一個詞語。如果要結束游戲,請說【退出】;如果要重新開始,請說【再來一局】"
}
},
{
"type": "dialog",
"property": {
"text": "歡迎來玩詞語接龍游戲, 請您說一個詞語。如果要結束游戲,請說【退出】;如果要重新開始,請說【再來一局】",
"emotion": "calm"
}
}],
"score": "1.0",
"scoreColor": "c4",
"is_match": 1,
"id": "5329699e-9189-4b23-9086-18453a6fd9c9"
}],
"meta_process_milliseconds": 32
}
}
```
**請求示例成功**
(輸入正確的詞語)
* [http://api.ruyi.ai/ruyi-api/v1/message?app\_key=APP\_KEY&user\_id=user0&q=你好](http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=你好)
返回結果
```json
{
"code": 0,
"msg": "ok",
"result": {
"_text": "你好",
"msg_id": "350dedce-5a97-45c7-b687-efe45ade224d",
"intents": [{
"parameters": {
"q": "你好",
"msgNotCiyu": "這個詞語我不知道,請你說一個詞語吧",
"msgNotMatch": "你說的詞語不匹配哦,請再說一個",
"msgSysLose": "你好厲害啊!這個我接不上了,你可以跟我說【退出】,也可以繼續接",
"msgValidMatch": "[微笑] 你說的詞語我也知道,加1分,我說:",
"service": "ciyu"
},
"action": "sys.action.ciyujielong/play",
"name": "玩詞語接龍",
"result": {
"isCiyu": true,
"isValidMatch": true,
"ciyuToMatch": "好玩",
"score": 1,
"beatPercent": 1,
"totalNumUserSay": 1,
"prevCiyu": "好玩",
"text": " [微笑] 你說的詞語我也知道,加1分,我說:好玩。 ",
"type": "dialog"
},
"outputs": [{
"type": "dialog",
"property": {
"text": " 你說的詞語我也知道,加1分,我說:好玩。 ",
"emotion": "like"
}
},
{
"type": "wechat.text",
"property": {
"text": " [微笑] 你說的詞語我也知道,加1分,我說:好玩。 "
}
}],
"score": "1.0",
"scoreColor": "c4",
"is_match": 1,
"id": "180b0e51-f3b7-4153-91d8-b70bc92893fd"
}],
"meta_process_milliseconds": 51
}
}
```
**請求示例失敗**
(輸入不匹配的詞語)
* [http://api.ruyi.ai/ruyi-api/v1/message?app\_key=APP\_KEY&user\_id=user0&q=哈哈](http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=哈哈)
返回結果
```json
{
"code": 0,
"msg": "ok",
"result": {
"_text": "哈哈",
"msg_id": "c9087e2e-3840-4f9b-910a-3454b9ea0d15",
"intents": [{
"parameters": {
"q": "哈哈",
"ciyuToMatch": "好玩",
"score": "1",
"msgNotCiyu": "這個詞語我不知道,請你說一個詞語吧",
"msgNotMatch": "你說的詞語不匹配哦,請再說一個",
"msgSysLose": "你好厲害啊!這個我接不上了,你可以跟我說【退出】,也可以繼續接",
"msgValidMatch": "[微笑] 你說的詞語我也知道,加1分,我說:",
"prevCiyu": "好玩",
"totalNumUserSay": "1",
"service": "ciyu"
},
"action": "sys.action.ciyujielong/play",
"name": "玩詞語接龍",
"result": {
"isCiyu": true,
"ciyuToMatch": "好玩",
"score": 1,
"beatPercent": 1,
"totalNumUserSay": 2,
"prevCiyu": "好玩",
"text": " 你說的詞語不匹配哦,請再說一個,接龍【好玩】 ",
"type": "dialog"
},
"outputs": [{
"type": "dialog",
"property": {
"text": " 你說的詞語不匹配哦,請再說一個,接龍【好玩】 ",
"emotion": "sad"
}
},
{
"type": "wechat.text",
"property": {
"text": " 你說的詞語不匹配哦,請再說一個,接龍【好玩】 "
}
}],
"score": "1.0",
"scoreColor": "c4",
"is_match": 1,
"id": "180b0e51-f3b7-4153-91d8-b70bc92893fd"
}],
"meta_process_milliseconds": 42
}
}
```
**請求示例重置游戲**
(再來一局重置游戲然后開始)
* [http://api.ruyi.ai/ruyi-api/v1/message?app\_key=APP\_KEY&user\_id=user0&q=再來一局](http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=再來一局)
返回結果
```json
{
"code": 0,
"msg": "ok",
"result": {
"_text": "再來一局",
"msg_id": "6b985d6e-5b0a-4011-a6d5-31608f0cd59c",
"intents": [{
"parameters": {
"score": "1",
"totalNumUserSay": "1",
"service": "ciyu"
},
"action": "no_action",
"name": "再次進入詞語接龍",
"result": {
"text": " 你上一局一共進行了1輪接龍,答對1個!歡迎你再次來玩, 請你說一個詞語。如果要結束游戲,請說【退出】;如果要重新開始,請說【再來一局】",
"type": "dialog"
},
"outputs": [{
"type": "dialog",
"property": {
"text": " 你上一局一共進行了1輪接龍,答對1個!歡迎你再次來玩, 請你說一個詞語。如果要結束游戲,請說【退出】;如果要重新開始,請說【再來一局】",
"emotion": "calm"
}
},
{
"type": "wechat.text",
"property": {
"text": " 你上一局一共進行了1輪接龍,答對1個!歡迎你再次來玩, 請你說一個詞語。如果要結束游戲,請說【退出】;如果要重新開始,請說【再來一局】"
}
}],
"score": "1.0",
"scoreColor": "c4",
"is_match": 1,
"id": "ef9ed971-7633-47d4-9f53-58b59a8e6406"
}],
"meta_process_milliseconds": 33
}
}
```
**請求示例退出**
(退出游戲,返回統計分數)
* [http://api.ruyi.ai/ruyi-api/v1/message?app\_key=APP\_KEY&user\_id=user0&q=退出](http://api.ruyi.ai/ruyi-api/v1/message?app_key=APP_KEY&user_id=user0&q=退出)
返回結果
```json
{
"code": 0,
"msg": "ok",
"result": {
"_text": "退出",
"msg_id": "957462d8-2d93-4d4c-94a0-6de28195ddd6",
"intents": [{
"parameters": {
"msgGoodJob": "非常好,再接再厲哦!",
"msgBadJob": "繼續努力,成績還有待提高哦!",
"msgQuit": "謝謝你參與詞語接龍游戲",
"msgDirectQuit": "好,下次再來玩吧!",
"service": "ciyu"
},
"action": "no_action",
"name": "退出詞語接龍",
"result": {
"text": " 好,下次再來玩吧! ",
"type": "dialog"
},
"outputs": [{
"type": "wechat.text",
"property": {
"text": " 好,下次再來玩吧! "
}
},
{
"type": "dialog",
"property": {
"text": " 好,下次再來玩吧! ",
"emotion": "positive"
}
}],
"score": "1.0",
"scoreColor": "c4",
"is_match": 1,
"id": "2b37cedf-135e-47d2-b11d-a76312248311"
}],
"meta_process_milliseconds": 31
}
}
```
**詳細參數說明**
| 名稱 | 類型 | 說明 |
| :--- | :--- | :--- |
| service | String | 服務名稱 |
| q | String | 識別的內容 |
| msgNotCiyu | String | 不是詞語的缺省描述 |
| msgNotMatch | String | 詞語沒有匹配上一條詞語的缺省描述 |
| msgSysLose | String | 機器人被打敗的缺省描述 |
| msgValidMatch | String | 匹配正確的缺省描述 |
| isCiyu | Boolean | 判斷是否為詞語,是則為 true |
| isValidMatch | Boolean | 判斷詞語是否和上一個匹配,是則為 true |
| CiyuToMatch | String | 要接龍的詞語 |
| score | Integer | 當前得分 |
| beatPercent | Integer | 當前打敗了多少用戶,單位百分數 |
| totalNumUserSay | String | 用戶目前為止說了幾輪 |
| prevCiyu | String | 上一個詞語 |
| msgGoodJob | String | 退出游戲時當用戶分數較高的鼓勵 |
| msgBadJob | String | 退出游戲時當用戶分數較低的鼓勵 |
| msgQuit | String | 退出游戲時的提示語 |
| msgDirectQuit | String | 直接退出游戲的提示語 |
**指令清單**
| 指令名稱 | 范例 |
| :--- | :--- |
| 喚醒| 詞語接龍|
| 進行接龍游戲| 白天|
| 跳過| 跳過|
| 再來一局| 再來一局|
| 退出| 退出|
- 1. 海知智能第三方技能插件開放平臺概述
- 2. 快速接入API
- 2.1 硬件接口調用
- 2.2 快速接入微信
- 2.3 API接入常見問題
- 3. 技能插件
- 3.1 基礎能力類
- 頂級過濾器
- 用戶知識圖譜
- 機器人檔案
- 通用閑聊
- 兒童閑聊
- Smart Reply
- 輕量閑聊
- 3.2 語音游戲類
- 成語接龍
- 詞匯樂園
- 詞語接龍
- 鸚鵡學舌
- 動腦猜猜
- 挑戰單詞
- 冒險世界
- 猜猜我是誰
- 阿拉丁學詩詞
- 貓貓托管所
- 漂流瓶
- 詩詞大會
- 國學大會
- 我愛猜歌名
- 我在看著你
- 燈謎猜猜
- 3.3 休閑娛樂類
- 星座運勢
- 悅耳聲音
- 幸運簽
- 調教機器人
- 娛樂推送
- 3.4 生活服務類
- 黃歷
- 計算器
- 古詩詞
- 時間詢問
- 翻譯類技能
- 天氣資訊
- 日程創建
- 日程創建指令
- 鬧鐘
- 食材知識
- 冥想音樂
- 格言
- 每日英語
- 漢語詞典
- 豆果菜譜
- 古文翻譯
- 3.5 音頻點播類
- 喜馬拉雅FM
- 新聞廣播
- 音樂點播
- Smart Music
- 兒童聽聽
- Smart Audio
- 兒童笑話
- 點播控制指令
- 3.6 視頻點播類
- 影視點播
- 3.7 百科知識類
- 人物百科
- 百科問答
- 實時百科
- 3.8 體育健康類
- 五分鐘健身
- 4. 開發者初級教程
- 4.1 開通服務
- 4.2 創建機器人
- 4.3 設置機器人
- 4.4 獲取技能插件
- 4.5 讓機器人學會聊天
- 4.6 導入知識庫
- 4.7 多種問答形式
- 4.8 數據統計
- 4.9 粉絲管理
- 5. 開發者中級教程
- 5.1 詞典運用
- 5.2 意圖處理
- 5.3 暗號使用
- 5.4 事件觸發
- 5.5 優先級
- 5.6 觸發器
- 5.7 快捷鍵
- 5.8 意圖報錯
- 6. 開發者高級教程
- 6.1 handlebars模版語言
- 6.2 JavaScript簡單介紹
- 6.3 JavaScript使用說明
- 6.4 JavaScript使用案例
- 6.5 JavaScript常見問題
- 7. 快速發布技能
- 8. 幫助中心
- 8.1 常見概念
- 8.2 幫助視頻
- 8.3 聯系我們