【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

6 条回复 A文章作者 M管理员
  1. Alright, folks, heard about 123winvin? Had some fun there, nothing too wild. Standard fare, ya know? Could use a little more oomph, but hey, it’s worth a look if you’re bored. Just sayin’.

  2. Yo, I’ve been messin’ around on 123winvin. It’s alright. Nothing to write home about, but not bad either. Perfect for killin’ some time. Give it a try if you’re looking for something new.

  3. Heard some whispers about vn123win. Tried it out. It’s got a certain…vibe. Depends on what you’re into. I’d say give it a quick peek and see if it jives with you.

  4. Slotoro? Oh man, those slots are addictive! Seriously, can’t stop spinning. Good times, good times! slotoro

  5. EV999 is killer. Amazing promotions and selection of games. Its my new favorite hands down! ev999

  6. The phbetloginapp makes everything so convenient. Playing on the go is super smooth. Definitely better than the website. phbetloginapp

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索