### 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 联系我们