【zblog插件】即时聊天(客服)插件

该插件现有版本功能有:

客服、私聊、群聊
消息撤回
群管理
群员禁言
支持浏览器通知
网站打开后可主动发送消息给访客
支持用户登录自动加入指定群聊
支持根据关键词自动回复
支持独立客服页

客服离线消息通知

提供的接口

前端js接口:

websocket连接之前:

window.chat.plugin.on('websocket.start','yourname',function(){
  console.log('准备连接');//该接口没有传入参数
});

websocket连接成功:

window.chat.plugin.on('websocket.open','yourname',function(e,ws){
  console.log(e);//websocket相关信息
  ws.send('test');//创建的websocket对象,示例是向websocket发送个“test”内容
});

websocket连接断开:

window.chat.plugin.on('websocket.close','yourname',function(e){
  console.log(e);//websocket相关信息
  console.log('websocket已断开,正在重连...');
});

收到websocket服务器发送的消息:

window.chat.plugin.on('websocket.receive','yourname',function(j){
  console.log(j);//收到的消息
});

连接成功后向网站报告clientid:

window.chat.plugin.on('websocket.ReportClientID','yourname',function(r){
  console.log(j.userinfo.name); //用户名称
  console.log(j.userinfo.avatar); //用户名称
  console.log(j.chatlist); //会话列表
});

删除回调

window.chat.plugin.unbind('websocket.ReportClientID','yourname');

请把yourname替换成你独一无二的名称,如果该名称重复,之前添加的回调会被删除。

后端接口:

处理用户发送的消息:可以实现对发送的消息处理后再送达其他用户

//挂载接口,收到消息的接口,可以对消息处理后再送往其它客户端
Add_Filter_Plugin('Filter_Plugin_Chat_Send_Message_Core','yourappid_FunctionName');
function yourappid_FunctionName($api, &$data){
    global $zbp;
    echo '发送者用户ID' . $api->sender->OID;
    echo '发送是客服:' . $api->sender->isServicer?'是':'否';
    echo '接口者用户ID或群ID' . $api->receiver->OID;
    echo '接口者是客服:' . $api->receiver->isServicer?'是':'否';
    if ($api->receiver->MarkType == 'group'){
        echo '群聊名称:' .$api->receiver->Name ;
    }elseif ($api->receiver->MarkType == 'private'){
        echo '当前是私聊';
    }

    echo '发送者是游客' . $api->sender->isGuest?'是':'否';
    echo '接收者是游客' . $api->receiver->isGuest?'是':'否';

    echo '发送的消息内容:' .$data['content']['data'];
    echo '发送的消息类型:' .$data['content']['type']; // 可能是 string html image

    if ($data['content']['type'] == 'string'){
        //如果发送的消息内容为:‘nihao’则自动替换为‘你好’
        $data['content']['data'] = str_reaplce('nihao','你好',$data['content']['data']);
    }
}

消息发送后回调:可以实现离线通知等业务

//挂载接口,消息已发送后回调
Add_Filter_Plugin('Filter_Plugin_Chat_Send_Message_Succeed','yourappid_FunctionName');
function yourappid_FunctionName($api, $data){
    global $zbp;
    echo '发送者用户ID' . $api->sender->OID;
    echo '发送是客服:' . $api->sender->isServicer?'是':'否';
    echo '接口者用户ID或群ID' . $api->receiver->OID;
    echo '接口者是客服:' . $api->receiver->isServicer?'是':'否';
    if ($api->receiver->MarkType == 'group'){
        echo '群聊名称:' .$api->receiver->Name ;
    }elseif ($api->receiver->MarkType == 'private'){
        echo '当前是私聊';
    }

    echo '发送者是游客' . $api->sender->isGuest?'是':'';
    echo '接收者是游客' . $api->receiver->isGuest?'是':'';

    echo '发送的消息内容:' .$data['content']['data'];
    echo '发送的消息类型:' .$data['content']['type']; // 可能是 string html image

    // 自动回复个可以使用html代码的消息
    (new kfuu\plugin\chat\api($api->receiver, $api->sender))->SendMessage('自动回复的消息<br>这是html内容', 'html');

    // 自动回复普通文本消息
    (new kfuu\plugin\chat\api($api->receiver, $api->sender))->SendMessage('自动回复的消息', 'string');

    // 自动回复个图片
    (new kfuu\plugin\chat\api($api->receiver, $api->sender))->SendMessage('https://kfuu.cn/test.jpg', 'image');

    //如果是给客服发送消息,并且客服不在线
    if ($api->receiver->isServicer && !$api->receiver->isOnline){
        echo $data['content']['data']; //消息内容

        //向发送者反馈个系统消息
        $api->PushSystemInfo('客服离线,已成功为您推送离线消息,请耐心等待回复');
    }
}

new kfuu\plugin\chat\api 类专门用于发送消息,可以在你插件或主题后端代码中任意地方调用。

参数一:用户ID或者聊天插件中的用户对象

参数一:用户ID或群聊ID或插件中的用户对象

请使用 try catch 捕捉错误

更新日志

v1.3.2 2021-06-17 17:46

  1. 618促销

v1.3.1 2021-05-29 18:57

  1. [优化]群聊聊天记录不显示历史系统消息

v1.3 2021-05-28 18:16

  1. [优化]窗口展现方式可设置为关闭
  2. [优化]网站后台聊天窗口展示方式强制默认样式
  3. [新增]被动消息不转发到客服开关
  4. [优化]查看在线用户列表页面,上下线记录展示也页面右上角

v1.2 2021-04-24 22:27

  1. [修复]一些bug
  2. 解决对同一服务器上多站点使用插件时存在的问题,详情请阅读教程https://kfuu.cn/zblogjiaocheng/87.html
  3. 需要在更新后或下次启动服务前重新创建配置文件(不需要重启服务)

v1.1.8 2021-04-19 22:21

  1. [修复]微信中无法上传图片的问题
  2. [修复]部分手机端文本框被挡住的问题

v1.1.7 2021-04-18 23:04

  1. [修复]bug

v1.1.6 2021-04-18 21:32

  1. [优化]群聊可显示创建时间,入群时间
  2. [新增]群聊可配置“新群员允许查看入群前的消息”,默认关闭
  3. [新增]可自定义新消息提示音

v1.1.5 2021-04-17 21:58

  1. [优化]首次客服发送的内容不保存为聊天记录,也不保存会话。客服或者用户手动发送内容时才开始保存
  2. [优化]打开页面后置顶所有未读消息
  3. [新增]客服自动回复支持正则表达式

v1.1.4 2021-04-16 21:56

  1. [优化]一些细节

v1.1.3 2021-04-15 21:08

  1. [优化]客服快捷短语支持拖拽排序
  2. [优化]客服自动回复支持拖拽排序,支持继续匹配余下规则,可选择是否开启规则。更新后请在页面保存一下配置
  3. [修复]登录用户之间会话后会话列表没有更新的问题

v1.1.2 2021-04-15 20:13

  1. [删除]server酱的离线通知功能,改为独立的扩展插件,请在群文件中下载安装

v1.1.1 2021-04-15 16:35

  1. [修复]会话消息文本框按ctrl+enter异常的问题
  2. [修复]调整会话消息文本框异常的问题

v1.1 2021-04-15 10:58

  1. [新增]接入server酱,实现客服离线消息通知
  2. [优化]重新排序表情
  3. [优化]聊天框可以上下拉调整大小

v1.0.2 2021-04-14 14:27

  1. [优化]可配置仅登录可以使用聊天
  2. [优化]一些使用体验

v1.0.1 2021-04-14 10:09

  1. [修复]证书配置无效的问题

v1.0.0 2021-04-13 14:54

  1. 正式发布

v0.1 2021-04-03 17:32

  1. 内部测试

下载权限

查看
  • 免费下载
    评论并刷新后下载
    登录后下载

查看演示

  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
声明:
1.本网站资源来源于网络收集,如有侵权,请联系站长进行删除处理。请发送邮件至:chensi2024@foxmail.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明
4.如下载链接失效,请在当前页留言或私信管理员,24小时必处理结束!
5.本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解。
6.本站提供的资源仅限用于学习交流和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险以及产生法律纠纷与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除。

给TA打赏
共{{data.count}}人
人已打赏
模板插件苹果CMS

苹果cms v10二开优化精选优质群站自适应电影模板

2022-7-3 11:55:30

rrzcms模板插件

新版易优CMS程序资讯类主题WORD教程资讯网站模板

2022-7-6 12:04:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索