聊天室增加聊天机器人功能

By | 2017年9月7日

关于增加聊天机器人功能的说明

昨天增加了聊天机器人的功能,以前如果有人进入聊天室,因为我不是经常在,大多说几句话就退出了,这次可以和聊天室里的机器人聊天,还能测试聊天室里的bug,机器人如下图。

## 简介

Rain在线聊天室是我很久之前就想做的一个东西,在QQ或者一些其他平台上,有些东西是不能乱说的,因为有关键词的筛查,而其他的聊天软件使用起来比较麻烦,所以我想写一个在线的即时聊天室,打开就可以说话,整个功能就搭建在我的服务器上,不怕什么筛查,更不会有社区送温暖,开门有快递,你的水表坏了,你有外卖等情况发生。

整个功能并不复杂,只是在消息的传送和刷新上有些麻烦,必须保证聊天记录的准确和同步性,调试了很多bug,还有就是用户列表的显示,用户状态的判断,这一块非常麻烦,我一直在思考一种高效实时的检测方式,现在只是一个简单请求方式,我会继续慢慢完善。截图和开发日志放在下面。

聊天室我已经放到服务器里,有想要尝试的可以直接访问chat.rain1024.com

开发日志

更新说明:1.修改了遍历数据库数量的操作,以前是直接提取出来所有数据,然后计算,得到的数量就直接作为最大id,但是如果有id被删除,这样就会出错,这个bug现在被修改为获取列表中最后一个数据的id值,2.修改了登录时添加用户后没有得到id的bug,以前一直没有发现,今天调试的时候才发现,我以为在添加数据后就会返回所添加数据的id,但其实返回的是boolean值,用于判断是否添加成功,现在已经修改了,直接在添加后查找到这条数据,3.将轮询的时间加长,4.添加了用户进入时的欢迎语,并可以自行根据在线时长和状态判断,5.最最关键的是加入了聊天机器人的功能,当然只是接口,但也修改了很久的这个接口,聊天时可以选择和机器人说话,机器人能够自动回复,这个功能很强大,很好玩

更新说明:1.重写了请求函数,增加了html转义的安全验证,2.增加了留言板功能,3.可以修改头像了

2.增加了公告栏,可以显示聊天室的注意事项,和更新说明等内容,方便交流,3.增加了留言板,有问题可以随时留言,4.有用户登录时,会发邮件通知我,方便了对聊天室的关注,因为这几天我都忘了,没想到真的有人用聊天室,所以没来得及修改bug

更新说明:本次修复了js中提取json时的evel函数,这个函数会导致游览器报错,2

更新了说明文档

更新了在线用户列表显示功能,可以实时的更新在线的用户,超时不说话的,会被认为已经离线,如果继续超过一定时间,则系统将会终结账号,还可以手动点击来刷新在线用户的列表。修复了在发送消息的时候,有时会重复出现两次,但数据库中只出现了一次记录的bug,因为在发送消息的时候会请求系统的聊天记录,而此时正好和页面自动请求发生了重合,导致信息被请求了多次

更新说明:添加了数据库,支持聊天记录的保存,用户每次进入聊天室都需要登录,输入用户名即可,系统会自动分配一个头像。使用limint,和count,在每次进入系统,都会自动显示上一次的前十条聊天记录,聊天时每提交发言,都会请求一遍系统中的聊天记录,使用轮播技术,系统会每隔一段时间自动请求聊天记录

项目开始开发,基础的thinkphp框架

聊天室截图

发表评论

电子邮件地址不会被公开。 必填项已用*标注