为你的兔小巢加上实时消息推送
如果你也和我一样,使用[兔小巢][1]来作为你的产品用户社区,那么你一定会遇到一个问题:反馈不及时,由于兔小巢本身没有和用户的强关联,只有当用户主动填写了个人信息,或关注了兔小巢的服务通知,你才能对用户进行消息的触达。因此,你的回复的时效就十分重要了,快速的回复可以让你的用户在还没有失去和你的联系时获得反馈,完成一次有效的用户交流。因此,实时的信息反馈就十分重要了。
但是,兔小巢本身并不具备实时推送问答的能力,因此,我们需要借助一些第三方工具来完成自己的目的,在这篇文章中,我将向你介绍,如何使用腾讯云云函数将兔小巢的消息转发到企业微信当中。当然,如果你使用的聊天工具不是企业微信,而是诸如飞书、Slack、Bearychat,你也可以参考这里的说明,完成自己的相应的需求的实现。
需求
腾讯云账号
兔小巢
流程说明
这里使用兔小巢的提供的 WebHook ,来接管所有的用户请求,并辅以腾讯云的 API 网关和云函数的能力,将实时推送的消息转发至企业微信。
这里我实现了企业微信,但对于你来说,还可以用来实现其他同类似渠道的能力。
优势
轻量:如果你的需求仅仅是实时转发,那你不再需要重新启动一个项目,配置各种环境,通过云函数就可以完成这些工作。
无需代码基础:如果你是一个运营,而不是一个开发,那么我这段代码你复制即可,简单修改其中的一些基本信息,就可以完成实时推送的功能,对于没有代码基础的同学来说,是十分方便的。
操作步骤
由于这篇文章是兔小巢的高级用法,因此,对于如何创建一个兔小巢产品,就不再赘述,此外,以下步骤均在电脑端操作,因此,请使用电脑来执行下述流程。
找到你的兔小巢产品 ID
首先,你需要打开兔小巢的管理后台,打开产品设置 ,在其中找到 产品 ID,复制这里的产品 ID,后续我们会用到。
产品 ID
创建一个企业微信机器人
由于我们本次要实现的是兔小巢消息推送到企业微信,因此,我们需要创建一个企业微信机器人。
在你需要推送消息的群上,右击,选择其中的添加群机器人,
并在弹出的窗口中选择从新创建一个机器人
在新弹出的窗口中输入机器人的基本信息,并点击添加
添加完成后你会获得一个 WebHook 地址,复制这个地址,后续会用到
创建一个腾讯云云函数
访问腾讯云云函数控制台,点击界面中的新建,新建一个云函数。
这里函数的地域可以根据你的需要选择,几乎没有影响,我选择的是广州地域。
随后,在新建函数的时候,输入函数名称、运行环境(运行环境选择 Node.js 8.9),以及创建方式,选择空白函数。
填写完成后,点击下一步,在新的页面,设置函数的描述,这里需要注意,执行方法不要做任何修改,使用默认的,除非你知道你在干什么。
然后,复制这段代码,粘贴在下方的代码框中,操作步骤参考动图
'use strict';
const request = require("request")
const productId = ""
const botUrl = ""function requestPromise(r,t){return new Promise(function(e,n){request({uri:r,method:"POST",body:JSON.stringify(t)},function(r,t,i){if(r)return n(r);try{e(i)}catch(r){n(r)}})})}exports.main_handler = async (event, context, callback) => {const txcData = JSON.parse(event.body);if (txcData.type == "post.created") {await requestPromise(botUrl, {"msgtype": "markdown","markdown": {"content": `**新增用户反馈**\n\n${txcData.payload.post.content}\n\n[点击查看详情](https://support.qq.com/products/${productId}/post/${txcData.payload.post.id})`}})}return "ok"
};
然后,将第三行的 productId 中加入你的兔小巢产品 ID,将第四行的 botUrl 中加入你的微信机器人地址。
比如,我的修改完是这样的
‘use strict’;
const request = require(“request”)
const productId = “149567”
const botUrl = “https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=d8c1e6b1-ccbf-467e-8dcc-31c1961baf41”
这里需要注意,不要删除放好的引号,把 ID 和 WebHook URL 放在引号内部就好,以免你的输入法输入了中文引号导致出错。
修改完成后,保存文件(按下 Ctrl + S 或 Command + S),点击下方的 完成,进入到函数的详情页。
配置函数请求地址
接下来,我们为函数生成一个请求地址,用作后续兔小巢的消息提醒。
在函数的详情页,点击左侧的触发管理,选择创建触发器,创建一个 API 网关触发器
触发器的具体配置可以参考下方的图片。
创建成功后,你会获得一个访问路径,这个路径就是你的函数请求地址了。复制这个地址,下一步我们就会用到。
兔小巢后台设置 Webhook
回到兔小巢的后台,找到左侧菜单栏中的 开发 – 新反馈实时通知
将刚刚你生成的函数的访问地址,粘贴在这里,点击保存并发布
保存成功后,就可以去你的兔小巢中发反馈,测试一下效果啦
测试效果
当我在兔小巢社区发了一个新的反馈后,我的企业微信群内就出现了一个新的消息提醒,提醒我有了新的反馈,同时,还带上了一个链接。点击这个链接,就可以跳转到我的兔小巢对应的反馈页面,方便快速回复。
总结
通过简单的配置,我们就可以很轻松的实现兔小巢反馈的实时推送,十分的方便。对于广大使用兔小巢的运营同学来说,现在你可以不用每隔几分钟就去刷新一下社区了,耐心的等待机器人的推送就好了~工作效率大大的得到的了提升。
为你的兔小巢加上实时消息推送相关推荐
- 消息推送技术干货:美团实时消息推送服务的技术演进之路
本文由美团技术团队分享,作者"健午.佳猛.陆凯.冯江",原题"美团终端消息投递服务Pike的演进之路",有修订. 1.引言 传统意义上来说,实时消息推送通常都是 ...
- Web 实时消息推送详解
title: Web 实时消息推送详解 category: 系统设计 head: meta name: keywords content: 消息推送,短轮询,长轮询,SSE,Websocket,MQT ...
- Django dWebScoket 实时消息推送
一.WebScoket是什么 WebSocket 是 HTML5 提供的一种浏览器与服务器间进行全双工通讯的协议.依靠这种协议可以实现客户端和服务器端 ,一次握手,双向实时通信.目前主流的浏览器都支持 ...
- 7种 实现web实时消息推送的方案
我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现. 什么是 ...
- 我有 7种 实现web实时消息推送的方案,7种!
技术交流,公众号:程序员小富 大家好,我是小富- 我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里 ...
- 浅谈iOS和Android后台实时消息推送的原理和区别
http://www.52im.net/thread-286-1-1.html 前言 iOS和Android上的实时消息推送差异很大,往小了说是技术实现的差异,往大了说是系统实现理念的不同.实时消息推 ...
- iOS和Android即时通讯开发时后台实时消息推送的原理和区别
iOS和Android上的实时消息推送差异很大,往小了说是技术实现的差异,往大了说是系统实现理念的不同.实时消息推送在移动端互联网时代很平常,也很重要,它的存在让智能终端真正成为全时信息传播的工具.本 ...
- 基于 RabbitMQ 的实时消息推送
博主新开公众号"不太灵光的程序员" , 关注公众号,每日八点有干货推送 1 实现服务器端推送的几种方式 Web 应用都是基于 HTTP 协议的请求/响应模式,无法像 TCP 协议那 ...
- 未读消息(小红点),前端 与 RabbitMQ 实时消息推送实践,贼简单~
前几天粉丝群里有个小伙伴问过:web 页面的未读消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢. 之前在 <springboot ...
- php通知websocket,php实现websocket实时消息推送
php实现websocket实时消息推送,供大家参考,具体内容如下 SocketService.php /** * Created by xwx * Date: 2017/10/18 * Time: ...
最新文章
- Windows mgmt command commom
- 面向对象实验一(类与对象)
- 自制纯css下拉导航
- 计算机基础知识教案总结,计算机基础知识教学设计
- Linux部署Ant Design Pro项目及nginx部署
- Kafka设计解析(六)- Kafka高性能架构之道
- FortiGate双链路不同运营商上网配置
- Python风格总结:错误和异常
- 马化腾:《王者荣耀》将举办AI电竞赛;美团发布自研无人机,15分钟配送到家;微软将为员工发放1500美元奖金|极客头条...
- 对Spring的IoC和DI最生动的解释
- 工作中遇到很让人头疼的上司怎么办?
- Hacker News的全文输出RSS地址
- constraintlayout布局新特性_进阶ConstraintLayout-2.0新特性
- java方法语句错误需要标识符_java错误需要标识符_Java错误 找不到符号
- bootice添加黑苹果引导_Clover Configurator黑苹果 Clover 引导配置工具
- Linux 下使用 Wine 安装运行 TM2008 Beta 及相关问题解决
- 菠萝狗四足机器人使用手册
- (附源码)ssmJavaEE无人机数据管理系统 毕业设计 111022
- 《慢慢来,一切都来得及》语录
- 720phi10p 和 720p有什么区别_红米note9和红米9哪个好_红米note9和红米9的区别