原文地址:https://blog.csdn.net/lk1848621002/article/details/81484166

一、开发前准备

1.去图灵机器人官网(http://www.turingapi.com/)去注册一个账号,并创建一个免费的智能机器人(因为是体验版所以免费,也可以续费升级,看个人爱好)。

2.在本地搭建一个可访问的PHP环境。

....嗯,准备就这么多了!

二、开发实现

1.通过图灵机官网给出的API,应用相关方式链接图灵机器人。(因为现在官网改版,现在版本的API删除了相关语言的调用接口的示例),下面贴出在其他地方找到的php和java ,关于v1.0版本的接口调用示例(当然,我现在应用开发的也是调用1.0版本的接口)。

①php调用示例:

②java调用示例:

2.按照示例创建连接图灵机器人的php文件tuLing.php。

需要注意的是:要先去图灵官网获取你创建机器人的apikey值

得到apike值以后,就可以调用接口访问机器人了。代码如下:


<?php$apiKey = "30xxxxxxxxxxxxxxxx";//v1.0版本请求方式$apiURL = "http://www.tuling123.com/openapi/api?key=KEY&info=INFO";//设置报文头,构建报文header("Content-type:text/html;charset=utf-8");$reqInfo =$_POST['msg'];//$reqInfo="讲笑话";$url = str_replace('INFO',$reqInfo,str_replace('KEY',$apiKey,$apiURL));//获取文件数据流$res = file_get_contents($url);//得到json对象$obj_json = json_decode($res);//添加时间属性$obj_json->time = date("Y-m-d H:i:s");//var_dump($obj_json);echo json_encode($obj_json);

没错连接就是这么简单,你可以对该程序进行测试,看是否访问成功!

3.接下来是页面布置和利用ajax异步请求tuLing.php文件得到响应。

①页面布置我就不多讲了,贴出我自己做的效果图吧!(因为受传统习惯影响,我将它放在页面右下角,且随页面滚动位置不变)

1).加载页面后效果:

2).点击后效果:

3).聊天效果:

2.贴一下ajax异步请求的代码:

/***************************回复消息************************************/var responseChat = function(msg){$.ajax({"type":"post","url":"tuLing.php","data":{"msg":msg},"dataType": "json","success":function(data){var num = new Date().getTime();//文本类if(data.code==100000){$(".chatBox-content-demo").append('<div class="clearfloat">'+'<div class="author-name">'+'<small class="chat-date" id="chat-'+num+'"></small>'+'</div>'+'<div class="left">'+'<div class="chat-avatars"><img src="img/tuling.png" alt="头像"/></div>'+'<div class="chat-message">'+data.text+'</div>'+'</div>'+'</div>');//回复息时间$("#chat-"+num).html(data.time);                    //聊天框默认最底部$(document).ready(function(){$("#chatBox-content-demo").scrollTop($("#chatBox-content-demo")[0].scrollHeight);});//链接类               }else if(data.code==200000){$(".chatBox-content-demo").append('<div class="clearfloat">'+'<div class="author-name">'+'<small class="chat-date" id="chat-'+num+'"></small>'+'</div>'+'<div class="left">'+'<div class="chat-avatars"><img src="img/tuling.png" alt="头像"/></div>'+'<div class="chat-message">'+data.text+'<a href="'+data.url+'">'+data.url+'</a> </div>'+ '</div>'+'</div>');//回复息时间$("#chat-"+num).html(getFormatTime());                    //聊天框默认最底部$(document).ready(function(){$("#chatBox-content-demo").scrollTop($("#chatBox-content-demo")[0].scrollHeight);});} else{/*其他code码代表类型(不同类型返回数据不同,根据不同数据自行显示)302000   新闻类308000  菜谱类313000  儿歌类314000  诗词类*/alert('未识别');}                      }               });    }

三、总结

1.因为纯属个人爱好,所以实现主要功能后,其他有些小地方有待完善。

2.数据未入库,纯属页面交互,因此不能查看历史记录。

3.最后贴一个关于用contenteditable控制文本输入框时,设置按enter键提交,ctr+enter键换行的控制操作

1)html代码如下:

<div class="div-textarea" contenteditable="true"></div>

2)css代码如下:

.div-textarea{width: 260px;min-height: 20px;max-height: 100px;_height: 120px;padding: 3px;outline: 0;background: #fff;font-size: 14px;line-height: 20px;word-wrap: break-word;overflow-x: hidden;overflow-y: auto;user-modify: read-write-plaintext-only;    /*纯文本*/-webkit-user-modify: read-write-plaintext-only;-moz-user-modify: read-write-plaintext-only;
}
.div-textarea:focus{box-shadow: 0 0 15px rgba(82, 168, 236, 0.6);
}

3)js代码如下:

    //回车提交消息$(".div-textarea").keydown(function($event){var keycode = window.event ? $event.keyCode : $event.which;var evt = $event || window.event;var inputTxt = $(this);// 回车-->发送消息if (keycode == 13 && !(evt.ctrlKey)) {//发送消息requestChat();$event.preventDefault();return false;}// ctrl+回车-->换行if (evt.ctrlKey && evt.keyCode == 13) {inputTxt.html(inputTxt.html() + '</br>');woohecc.placeCaretAtEnd(inputTxt.get(0));return false;}});var woohecc = {placeCaretAtEnd : function(el) {el.focus();if (typeof window.getSelection != "undefined"&& typeof document.createRange != "undefined") {var range = document.createRange();range.selectNodeContents(el);range.collapse(false);var sel = window.getSelection();sel.removeAllRanges();sel.addRange(range);}else if (typeof document.body.createTextRange != "undefined") {var textRange = document.body.createTextRange();textRange.moveToElementText(el);textRange.collapse(false);textRange.select();}},}

PHP下制作图灵机器人程序相关推荐

  1. 图灵机器人 mysql_如何在微信小程序中制作图灵机器人?

    本教程讲解了如何在微信小程序中制作图灵机器人?操作起来是很简单的,想要学习的朋友们可以跟着小编一起去看一看下文,希望能够帮助到大家. 开发环境及框架 后端:国产java极速框架JFinal(超级好用有 ...

  2. 用python制作微信机器人程序编写_Python制作微信聊天机器人

    可以借助图灵机器人和itchat插件来模拟机器人聊天. 1.注册图灵机器人账号 在官网注册(http://www.tuling123.com),注册完之后可以创建一个机器人,最终需要机器人的apike ...

  3. DELMIA软件弧焊仿真:以工件边缘曲线为焊缝的机器人程序自动生成

    目录 功能介绍 弧焊焊接焊点坐标创建 弧焊焊点坐标姿态批量调整 机器人弧焊焊接程序自动生成 弧焊焊接机器人仿真运行 本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢 ...

  4. 图灵机器人调用数据恢复_机器人也能撩妹?python程序员自制微信机器人,替他俘获女神芳心...

    机器人也有感情 还记得王传君饰演的<星语心愿之再爱>这部电影吗?王传君饰演的天才程序员"王鹏鹏"因工作原因不能陪伴照顾身在异地的女朋友"林亦男",呆 ...

  5. python程序语言和机器人控制-利用树莓派+Python语言制作一部机器人就是如此简单!...

    前段时间,接触了一款在开源硬件界被称为是"人气之王"的树莓派(Raspberry Pi)袖珍计算机,功能强大的她拥有一颗SOC,集CPU.GPU.DSP和SDRAM为一体,以SD卡 ...

  6. unity下图灵机器人的使用

    unity下图灵机器人的使用 这里json的解析与建立使用的是LitJson.dll 一.机器人建立 首先到图灵机器人的官网http://www.tuling123.com/注册一个号并建立机器人(有 ...

  7. java 微信 图灵机器人,SAE服务下用java实现微信公众账号图灵机器人

    需要准备的资源: SAE注册账号,顺便将开发的依赖包下载下来,以免造成本地编译调试通过,上传服务器显示异常的情 图灵机器人注册账号,会发给你一个API key 微信公众平台注册账号,申请成为开发者(需 ...

  8. 【Python】利用tkinter与图灵机器人制作智能聊天系统

    1 前言 一次偶然的机会,我了解到图灵机器人网站,里面有现成的智能机器人聊天API.正好当时在学tkinter,计划利用tkinter制作一个类似QQ聊天框,与机器人聊天~ 具体效果如下(ps:由于在 ...

  9. 微信sae java_SAE服务下用java实现微信公众账号图灵机器人

    下面是是用JAVA来实现的在微信公众号中接入的智能机器人,选用的是图灵机器人提供的免费API 需要准备的资源: SAE注册账号,顺便将开发的依赖包下载下来,以免造成本地编译调试通过,上传服务器显示异常 ...

最新文章

  1. JSP response request 中文乱码
  2. NYOJ176 整数划分(二)
  3. 《好未来编程题》字符串中找出连续最长的数字串
  4. python基本语法:元组
  5. 再战“超融合”,戴尔、Nutanix绝世好CP
  6. QQ自定义在线机型状态源码
  7. 欧拉函数、中国剩余定理背诵用模板
  8. fastjson jsonobject 转bean失败_挂面这么做,零失败,口感还是一顶一的棒
  9. Spring boot Redis客户端 乱码
  10. 步进电机基础(7.2)-步进电机的选择方法-位置定位精度、转速方面、转速变化率和依据使用环境来选择
  11. 电脑截图怎么转换成文字?学会这个方法,轻松实现
  12. 【Android工具】盘点几个有应用历史版本功能的应用商店
  13. 下载百度编辑器ueditor
  14. PaddleOCR报错Process finished with exit code
  15. 什么是 “好的“ 逻辑清楚
  16. 商宝项目服务器,可照搬实施的商超高可用方案:proxmox + haproxy 等
  17. 2.Nacos 服务注册的原理
  18. C语言娱乐项目————6、圣诞树
  19. Java 写数据到文件
  20. 应聘恩智浦时考察正则表达式

热门文章

  1. 自建服务器部署WEB网站可公网访问
  2. Exception: java.io.IOException: Keystore was tampered with, or password was incorrect
  3. js字符串首字母大写其他小写
  4. android手机视频编辑,美册视频编辑剪辑制作
  5. 基于php+MySQL电脑外设商城网站毕业设计源码271538
  6. iOS 九宫格键盘的UIKeyboardTypeNumbersAndPunctuation默认类型
  7. 一文讲透java弱引用以及使用场景
  8. centos安装oracle报错,CentOS安装oracle和rsh服务报错处理
  9. vue中 给v-for渲染的元素动态添加移除类名
  10. From Nand to Tetris Week2 2021 超详细笔记