本次我们要用到的软件是:易语言。 首先,打开易语言,新建一个windows窗口程序 然后再新建的窗体上添加两个编辑框,一个按钮
把按钮标题改为发送
并把第一个编辑框的是否允许多行属性改为真
后再把滚动条设置成纵向滚动条
接下来开始写代码,双击按钮1
第一步,我们需要判断用户是否没有输入就直接点击按钮,所以代码为
![如何编写一个聊天机器人](http://image100.360doc.com/DownloadImg/2016/09/1520/80114473_7)
由于这是一个聊天机器人程序,所以本程序核心就是能根据用户输入的内容返回不同的数据。
所以,我们新建一个子程序,子程序名为机器人,返回值设置为文本型,添加一个参数,类型为文本型 接下来,我们可以上百度搜索机器人API,当然也可以用本地词库进行处理,这个下次会讲到
我们随便找个接口
接着键入以下代码
由于http读文件返回的是一个字节集的数据,所以我们把转换到文本,然后赋值给a
这样就行了吗?我们返回a来调试一下
这时候我们发现程序返回了一段我们看不懂的文字,这是由于编码不一致所造成的,接口所使用的编码格式为UTF-8,而易语言默认的编码格式为GB2312,所以出现了这种状况,我们用编码转换这个命令转换下编码,这个命令一共有四个参数,前三个为必须,最后一个可以省略。
这个命令第一个参数为欲转换的数据,为字节集型;第二个参数为转换前的编码,第三个参数为转换后的编码。由于第一个参数的类型为字节集型,所以我们可以这么写 然后再把这个编码转换后的结果转换到文本,赋值给a
这样写,这时候我们发现机器人答非所问,哪里出了问题?
原来,我们光顾着翻译机器人说的话了,却忘了把自己的话翻译一下,所以我们要把自己说的话转一下码再给机器人
这时候机器人就能正确地回答我们的问题了
最后,我们要让编辑框1像聊天框一样能显示我们自己和机器人的聊天记录,所以要在按钮1的单击事件下的判断分支写上
以上是你的发言记录,机器人的发言记录可以这么写
好的,接下来我们就正式试试和机器人聊下天
这时候我们发现,机器人所说的话前面和后面带有奇怪的东西,由于机器人接口返回给我们的是JSON数据,而易语言解析JSON要安装另外的支持库或使用模块,所以我们可以用易语言自带的子文本替换命令把这东西替换掉。
首先,我们新建一个文本常量,把刚才的那段东西复制进去
![如何编写一个聊天机器人](http://pubimage.360doc.com/wz/default.gif)
![如何编写一个聊天机器人](http://pubimage.360doc.com/wz/default.gif)
然后,把机器人所说的话赋值给一个变量,再分别使用子文本替换替换掉常量1和常量2 大功告成!
![如何编写一个聊天机器人](http://pubimage.360doc.com/wz/default.gif)
|