import win.ui;

import fsys;

import string.template;

/*DSG{{*/

winform = win.form(text="机器人小冰";right=573;bottom=374;max=false)

winform.add(

Robot={cls="static";left=20;top=6;right=21;bottom=7;hide=1;transparent=1;z=4};

edit={cls="edit";left=8;top=306;right=566;bottom=369;dl=1;dr=1;dt=1;edge=1;multiline=1;z=2};

plus={cls="plus";left=-2;top=0;right=577;bottom=86;bgcolor=15780518;z=1};

plus2={cls="plus";left=12;top=5;right=87;bottom=81;background="\res\头像.jpg";z=6};

richedit={cls="richedit";left=8;top=95;right=566;bottom=303;dl=1;dr=1;dt=1;edge=1;link=1;multiline=1;vscroll=1;wrap=1;z=3};

yuyin={cls="static";left=20;top=309;right=69;bottom=327;hide=1;transparent=1;z=5}

)

/*}}*/

if(!io.exist("\reply")){string.save("\reply","机器人名字"+'\n'+"小冰"+ '\n'); }

if(!io.exist("\myreply")){string.save("\myreply","这里是提问记录"+ '\n'); }

Handle=function(char){

var CustomReply = string.load("\reply"); //加载自定义词库

var Reply = string.load("\res\reply");

SplitChar = string.split(char, "|") //以|符号拆分聊天信息

if (SplitChar) { //如果拆分文本成功代表这一句是命令信息

if (SplitChar[1] = "教学") { //教学命令

new =SplitChar[2] + '\n' +SplitChar[3] + '\n';

string.save("\reply", new, true) //追加新词到自定义词库

return "太好了!我又学会新词了^_^" ; //中断

}

if (SplitChar[1] = "取名") { //教学命令

Robotname=string.replace(CustomReply,Robot,SplitChar[2]);

Newname='\r\n'+SplitChar[2];

if(!机器人名字=" "){

string.save("\reply",Robotname);

return "好的!以后我就叫"+SplitChar[2];};

else{

Newname="机器人名字"+Newname+'\r\n'

string.save("\reply",Newname,true)

return "太好了!我有新名字了^_^";

}

}

}

if(char!="机器人名字"){//记录提问内容

Newchar = char + '\n'

string.save("\myreply", Newchar, true); //追加保存提问信息

}

//搜索自建词库

var LoadReply = string.split(CustomReply, '\n'); //拆分自定义词库

min,max = table.range(LoadReply); //取词库最大行数

for (i = 1; max; 1) {

var MatchReply = string.match(LoadReply[i], char); //逐行匹配词库

if (MatchReply) { //如果匹配成功

if (i % 2) { //判断行数是否为奇数

m = i + 1; //m数值等于第i行的下一行

return LoadReply[m]; //返回答案

}

}

}

//搜索内置词库

var LoadReply = string.split(Reply, '\n'); //分行词库文件

min, max = table.range(LoadReply); //取词库行数

for (i = 1; max; 1) {

var MatchReply = string.match(LoadReply[i], char); //逐行匹配词库

if (MatchReply) { //如果匹配成功

if (i % 2) { //判断行数是否为奇数

n = i + 1//n数值等于第i行的下一行

return LoadReply[n]; //返回答案

}

}

}

//搜索词库失败处理

var Problem = string.load("\myreply"); //读取提问记录

var LoadProblem = string.split(Problem, '\n'); //分行提问记录

min,max = table.range(LoadProblem); //取提问记录行数

for (i = 1; max; 1) {

var MatchProblem = string.match(LoadProblem[i], char); //逐行提问记录

if (MatchProblem) { //如果匹配成功

if (i > 5) { //如果同样的问题提问超过5次

return "有些问题你问了我不下五次了,要不你教教我吧^_^";

}

}

}

return "这个问题我不会,要不你教我吧^_^";

}

winform.edit.oncommand = function(id, event) {

import key;

if (key.getStateX("Enter")) {

str = string.split(winform.edit.text, '\r\n');

if (str[2] = "") {

winform.richedit.appendText("我说:" + str[1] + '\n');

winform.richedit.appendText(Robot+ "说:"+Handle(str[1]) + '\n');

}

winform.edit.text = "";

}

}

winform.richedit.color= gdi.RGB(0xff,0000,0);

if(Handle("机器人名字")){

Robot = Handle("机器人名字") ; //设置机器人名字

winform.text = "与 " + Robot+ " 聊天";//设置对话框名称

winform.richedit.appendText("嗨!又见面了!" + '\n');

}

else {

Robot="小丫子";

winform.richedit.appendText("主人,你可以训练我怎么跟你更好的聊天哦^_^" + '\n');

winform.richedit.appendText("输入教学|这里是提问|这里是回答" + '\n');

winform.richedit.appendText("输入取名|这里写我的新名字就可以啦" + '\n');

}

winform.show()

return win.loopMessage();

php聊天机器人源码,简单聊天机器人源码相关推荐

  1. php聊天功能_php实现简单聊天功能

    搜索热词 1.创建聊天消息表,其表的字段有消息内容,发送时间和发送者的名称: CREATE TABLE `guanhui`.`message` ( `id` INT(10) NOT NULL AUTO ...

  2. 计算机网络课程设计聊天,计算机网络课程设计-简单聊天程序.doc

    计算机网络课程设计-简单聊天程序 黔南民族师范学院 计算机科学系 计算机网络课程设计报告 课题名称: 简单聊天程序 姓 名: 学 号: 专业班级: 系 (院): 计算机科学系 指导老师: 设计时间: ...

  3. java 简单聊天室_java实现简单聊天室单人版

    本文实例为大家分享了java实现简单聊天室的具体代码,供大家参考,具体内容如下 先整理下思路: 1.创建一个通信服务端,传入端口号和相关的流后等待客户端连接,并初始化图形界面. 2.创建一个JFram ...

  4. node.js android 聊天,Node.js实现简单聊天服务器

    使用Nodejs是如此简单的实现了一个简单的聊天服务器 实现代码如下: var net = require('net'); var chatServer = net.createServer(),cl ...

  5. 小程序源码:聊天斗图微信表情包-多玩法安装简单

    这是一款微信表情包小程序 支持自定义搜索,另外支持长按发送给好友 当然也支持长按保存表情包 这个源码比较单调一点,没有那么多的分类 小程序源码下载地址: 小程序源码:聊天斗图微信表情包-多玩法安装简单 ...

  6. 【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一.自然语言处理与智能 自然语言处理技术是智能客服应用的基础,在自然语言处理过程中,首先需要进行分词处理,这个过程通常基于统计学理论,分词的精细化 ...

  7. 做简单的android 软件推荐,Android_适用于Android开发的简单聊天软件,适用于android 开发。是一个简 - phpStudy...

    适用于Android开发的简单聊天软件 适用于android 开发.是一个简单的聊天软件,包括知识点,各个控件的运用(ExpandableListView,ViewPager,Spinner,Line ...

  8. 游戏陪玩系统源码中聊天室内礼物系统的实现

    游戏陪玩系统源码中聊天室的礼物系统,第一步用户看到的无外乎都是礼物的列表界面 纵观主流聊天室的礼物列表应该都是使用UICollectionView实现的,所以我也不例外,下面就是各种撸代码.效果如下 ...

  9. 家园垃圾分类php源码,PHP垃圾分类设备机器类企业网站整站源码(带手机移动端) dedecms内核...

    [温馨提示]源码包解压密码:www.youhutong.com 资源描述 PHP垃圾分类设备机器类企业网站整站源码(带手机移动端) dedecms内核 源码介绍: 采用织梦最新内核开发的模板,该模板属 ...

  10. GCC源码分析(十三) — 机器描述文件

    版权声明:本文为CSDN博主「ashimida@」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/lidan1 ...

最新文章

  1. 关系型数据库 和 非关系型数据对比 以及 MySQL与Oracle对比
  2. .net程序调试一:快速定位异常
  3. 豪斯荷尔德变换 matlab,隐式QR法求实矩阵的全部特征值matlab实现
  4. 基于bert的语义匹配_构建基于BERT的语义搜索系统…针对“星际迷航”
  5. effective mysql之备份与恢复_Effective MySQL之备份与恢复
  6. 这篇看完我得理解ES6中中常见语法
  7. 为什么objc_msgSend必须用汇编实现
  8. 散列表删除一个元素c语言,分享一个简单高效的哈希表C语言实现
  9. Retrofit2源码分析(一)
  10. X云微专业-功能测试需求分析
  11. ROS的学习(十)rqt_console和roslaunch
  12. 页面中,通过css设置文本不能被选中
  13. 智慧树工业机器人测试答案_智慧树_工业机器人技术基础_答案章节单元测试答案...
  14. Excel如何快速生成二维码图片?
  15. ENVI提取植被指数(NDVI)的两种方法
  16. 股权比例的3种黄金分割线
  17. Java+PDFBox将PDF转成图片
  18. oracle怎么加上双引号,Oracle中的双引号的作用
  19. metasploit的SET的Credential Harvester Attack Method
  20. 总结一些IT项目经理的管理方法与经验

热门文章

  1. Hadoop-学习笔记-黑马程序员
  2. SwitchHosts的安装及软件使用
  3. Win7系统开机动画设置
  4. android adb sdk下载地址,Android SDK 下载和安装
  5. Linux运维基础知识——开发人员可以掌握的常识
  6. 华为这份关于专利的会议纪要,都说了什么?(内含华为十大发明彩蛋)
  7. js_单例模式制作无限弹窗(3s内销毁)
  8. 计算机打印中 纸张不出来,菜鸟发货平台打印机不出纸怎么办?打印机纸张尺寸如何设置?...
  9. Webservice接口开发简单例子
  10. 1.实验:删除CentOS6下/boot/vmlinuz文件修复之