编写你第一个聊天机器人
@loddit
你知道的聊天机器人有?
Siri
微软小冰
微信公众号
?
到底是什么才是聊天机器人?
聊天机器人本质是一个程序
这个程序能有一个机器人身份
可以在一个聊天交互界面向用户发送消息
今天我们讨论只最容易编写的聊天机器人
三种最常见的聊天机器人类型
Incoming Outgoing Hubot



Incoming 机器人


Incoming 机器人的技术要点
本质是 HTTP 请求
每个 Incoming 机器人都有一个 URL 接受这个请求
触发请求的时机
是定时触发?还是满足某条件触发?
请求的数据结构
JSON 里面支持那些字段
Outgoing 机器人
Outgoing 机器人的技术要点
本质是 HTTP 服务器
需要有自己的 URL 供外部调用
解析用户输入
从消息里找出代表用户意图的关键词
请求外部服务
了解外部的服务 API 如何使用
Hubot 机器人
Hubot 机器人的技术要点
本质是持续运行的程序
需要部署在某台服务器上运行
Hubot 生态
开源社区已经贡献了上千种 Hubot 插件
连接内部服务
使用 Hubot 脚本让内部系统可以方便调用
消息的数据结构
{
"text": "hello world", //消息正文
}
curl 'https://hook.bearychat.com/xxxx' \
-H 'Content-Type: application/json' \
-d '{"text": "hello world"}'

{
"text": "hello world", //消息正文
"attachments": [ //附件列表
{
"title": "This is BearyChat", // 附件 1 的标题
"url": "http://bearychat.com", // 附件 1 的链接
"text": "Welcome to the ChatOps World", // 附件 1 的正文
"color": "#000", // 附件栅格的颜色
"images": [
{
"url": "https://xxxx/logo.png", // 附件 1 的图片的 URL
}
]
}
]
}

欲善其事,必利其器
知道一些开发调试常用的工具
模拟请求的 POSTMAN
查看请求的 RequestBin
在线编程的 webscript


在线编程服务 WebScript.io
无需任何本地环境
保存即部署
支持存储
支持定时任务
有常用 API
使用 Lua 语言
头脑风暴你的机器人创意
编写你第一个聊天机器人
By Loddit Li
编写你第一个聊天机器人
- 1,086