Serverless实践:企业微信机器人还能这么做吗?

发布于:2024-10-24 编辑:匿名 来源:网络

通过定时触发,您可以非常简单、快速地构建企业微信机器人。我们可以用它来实现喝水、吃饭提醒等小功能,也可以实现定时推送新闻、天气,甚至监控闹钟等小功能。

使用企业微信机器人 在企业微信中,可以选择添加机器人: 添加机器人后,我们可以根据文档自定义企业微信机器人的基本功能: 下面是使用curl工具推送文本的示例群发消息(注意url必须替换成你的机器人webhook地址,内容必须是utf8编码): 代码语言:javascript copy curl '企业微信机器人地址' \ -H 'Content-Type: application/json' \ -d ' { "msgtype": "text" , "text": { "content": "hello world" } }' 通过Python语言实现:代码语言:javascript copy url = ""data = { "msgtype": " markdown", "markdown": { "content" : "hello world", }}data = json.dumps(data).encode("utf-8")req_attr = urllib.request.Request(url, data)resp_attr = urllib.request.urlopen(req_attr)return_msg = resp_attr .read().decode("utf-8") 至此,我们就可以通过Serverless Framework部署机器人的基本功能,并设置API网关触发器:index. py 文件:代码语言:javascript copy import osimport jsonimport urllib .requestdef main_handler(event, context): url = os.environ.get("url") data = { "msgtype": "markdown", "markdown": { "content": "hello world", } } data = json.dumps(data).encode("utf-8") req_attr = urllib.request.Request(url, data) resp_attr = urllib.request.urlopen(req_attr) return resp_attr.read().decode("utf-8")serverless.yaml 文件:代码语言:javascript 复制 MyRobot_Base: 组件: '@serverless/tencent-scf' 输入: name: MyRobot_Base 运行时: Python3.6 timeout: 3 codeUri: ./base_robot 描述: 机器人推送接口 区域: ap-guangzhou 环境: 变量: url: webhook 地址 handler: index.main_handler内存大小:64 标签:应用程序:myrobot 事件:- apigw:名称:MyRobot 参数:协议:- http - https 描述:机器人推送界面 环境:release endpoints: - path: /push method: ANY 部署成功后,可以看到系统给我们的地址: 我们通过浏览器打开这个地址,可以看到我们的企业微信机器人被触发了: 此时,我们已经完成了一个简单的 hello world 函数,接下来,我们对这个基本函数进行额外的修改: 代码语言: javascript copy import osimport jsonimport urllib.requestdef main_handler(event, context): url = os.environ.get("url") data = { "msgtype": "markdown", "markdown": { "content": event['body'], } } data = json.dumps(data).encode("utf-8") req_attr = urllib. request.Request(url, data) resp_attr = urllib.request.urlopen(req_attr) return resp_attr.read().decode("utf-8") 其他模块请求可以通过将data中的content字段改为event['来实现body'] 该接口实现机器人推送功能。当然,我们还可以完善这个基本功能。

例如,不仅仅是Markdown格式,还封装了更多支持的格式:机器人功能扩展了提醒喝水/吃饭功能以及通过定时触发访问云功能。这个功能可以实现,例如index.py代码:代码语言:javascript copy import osimport jsonimport urllib.requestdef main_handler(event, context): url = os.environ.get("url") data = "每天多喝水,别忘了补充水分".encode("utf-8") req_attr = urllib.request.Request(url, data) resp_attr = urllib.request.urlopen(req_attr ) return resp_attr.read().decode("utf-8")serverless.yaml 文件: 代码语言: javascript 复制 MyRobot_Water: 组件: '@serverless/tencent-scf' 输入: 名称: MyRobot_Water 运行时: Python3.6 超时: 3 codeUri: ./water 描述: 提醒机器人喝水 区域: ap-guangzhou 环境: 变量: url: handler: index.main_handler memorySize: 64 标签: app: myrobot events: - 定时器: 名称: 定时器参数: cronExpression: '0 */30 9-17 * * * *'enable: true 这个功能每天早上9点到下午5点每隔30分钟提醒我们喝水一次天气预报/本地新闻功能如果我们想实现天气预报/新闻播报功能,可以通过现有的新闻接口来实现。

以腾讯云的云市场为例,我们正在寻找一个新闻API接口: 根据API文档,可以看到请求地址为: 该方法可以携带一个参数:keyword,作为目标关键词,代码编写:代码语言: javascript copy import ssl, hmac, base64, hashlib, os, jsonfrom datetime import datetime as pydatetimefrom urllib.parse import urlencodefrom urllib.request import Request, urlopendef main_handler(event, context): source = "market" datetime = pydatetime. utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT') signStr = "x-日期: %s\nx-源: %s" % (日期时间, 源)符号= base64.b64encode(hmac.new(os.environ.get('secretKey').encode('utf-8'),signStr.encode('utf-8'),hashlib.sha1).digest()) auth = 'hmac id="%s", Algorithm="hmac-sha1", headers="x-date x- source", 签名="%s"' % (os.environ.get("secretId"), sign.decode('utf-8')) headers = { 'X-Source': 源, '; + urlencode(queryParams) content = "" for eve in json.loads(urlopen(Request(url, headers=headers)).read().decode("utf-8"))["结果"]["列表" ][0:5]: 内容 = 内容 + "* [%s](%s) \n"%(eve['title'], eve['url']) if content: urlopen(Request(os.environ) .get('url'), content.encode("utf-8")))serverless.yaml 文件:代码语言:javascript 复制 MyRobot_News: 组件:'@serverless/tencent-scf' 输入:名称:MyRobot_News 运行时:Python3 .6 超时时间: 3 codeUri: ./news 描述: 新闻推送 区域: ap-广州 环境: 变量: url: SecretId: 云市场关键信息 SecretKey: 云市场关键信息 handler: index.main_handler memorySize: 64 Tags: app: myrobot events: - timer: name: 定时器参数: cronExpression: '0 0 */8 * * * *' enable: true 运行效果是8点钟给我们推送当天的科技新闻每日早报:点击新闻即可进入相应的新闻页面。监控报警功能企业微信机器人除了被赋予上述能力外,还可以被赋予监控报警的能力:index.py文件:代码语言:javascript copy import osimport urllib.requestdef getStatusCode(url): return urllib。

request.urlopen (url).getcode()def main_handler(event, context): url = " if getStatusCode(url) == : print("您的网站 %s 可以访问!" % (url)) else: urllib. request.urlopen (urllib.request.Request(os.environ.get('url'), ("您的网站 %s 无法访问!" % (url)).encode("utf-8"))) return Noneserverless .yaml 文件: 代码语言: javascript 复制 MyRobot_Monitor: 组件: '@serverless/tencent-scf' 输入: 名称: MyRobot_Monitor 运行时: Python3.6 超时: 3 codeUri: ./monitor 描述: 网站监控区域: ap-guangzhou 环境:变量:url:处理程序:index.main_handler内存大小:64标签:应用程序:myrobot事件:-计时器:名称:计时器参数:cronExpression:'0 * / 30 * * * * *'enable: true 部署完成后,我们的网站监控脚本就已经启动了。它会每 30 分钟检查一次我们的网站是否可用。

如果不可用,则会发出警报:想法不同的企业微信机器人可以通过Serverless架构获得更多更新。有趣的功能,那么我们身边还有哪些产品可以与Serverless架构结合,给我们带来有趣的功能呢?随着网络技术的不断发展,物联网技术已逐渐走进千家万户。

无论是扫地机器人、智能窗帘等智能家居,还是智能音箱等娱乐设施,物联网技术已初见端倪。说一个熟悉的小爱同学词,今天,我们通过Serverless架构快速开发出了自己的小爱同学新功能。

在开始之前,我们需要在小爱同学开放平台上注册一个账号,并提交认证:完成后,我们就开始研究小爱同学的定制功能。如图所示,在开发文档中,我们可以看到小爱开发者平台提供的能力信息。

我们还可以查看请求和响应的详细信息:小爱同学的开发者规范等。有了一定的了解后,我们就可以开始设计项目了。

该版块的目标是通过对小爱同学说出“进入云+社区”关键词,向用户返回腾讯云+社区最新热门文章的标题和介绍。整个流程如图所示: 接下来编写函数代码: 代码语言:javascript copy # -*- 编码:utf8 -*-import jsonimportloggingimport urllib.requestimport urllib.parselogging.basicConfig(level=logging.NOTSET) def main_handler(事件,上下文):主机=“路径=”开发者/服务/ajax/column/article?action=FetchColumnHomeArticleList”json_data={“action”:“FetchColumnHomeArticleList”,“有效负载”:{“pageNumber”:1, “pageSize”:20,“版本”:1 } } data = json.dumps(json_data).encode(“utf-8”) request_attr = urllib.request.Request(url=主机+路径,data=数据) response_attr = urllib. request.urlopen(request_attr).read().decode("utf-8") json_resp = json.loads(response_attr)logging.debug(json_resp) temp_str = "文章标题为%s,主要内容是 %s" list_data = json_resp["data"]["list"][0:5] art_list = [temp_str % (eve["title"], eve["abstract"]) for eve in list_data] news_str = '''今日腾讯云+社区热门文章如下:%s''' % (",". join(art_list ))logging.debug(news_str) xiaoai_response = {"version": "1.0", "response": { "open_mic": False, "to_speak": { "type": 0, "text": news_str } }, " is_session_end": False } return xiaoai_response完成后,通过Serverless Framework进行部署,并绑定API网关触发器。

然后我们通过请求地址就可以看到测试结果:可以看到我们已经获取到了目标数据。此时,我们在小爱同学官网上创建了技能开发。

填写并保存基本信息后,我们选择配置服务,并在配置信息中填写HTTPS中的测试环境地址: 配置完成后,我们进入测试页面,开始测试。如下图所示,可以看到,当我们输入预定的命令“打开云嘉社区”时,系统会正确返回结果信息并返回给我们: 至此,我们已经成功为我们的小型服务器提供了无服务器架构。

爱屯门开发了一个新功能,接下来,如果你想让更多人使用这个新功能,你可以发布、审核、上线。总结 通过Serverless架构,我们可以快速为未来的产品添加一些新的功能,赋予它们新的活力。

这篇文章只是一个介绍。通过企业微信机器人与Serverless架构的结合,几段代码实现了提醒吃饭/喝水的功能、新闻/天气的功能、业务的监控报警功能。

同时,发散思维引导小爱同学和其他设备通过Serverless架构赋予它们新的功能。能力。

Serverless框架30天试用计划诚挚邀请您体验最便捷的Serverless开发和部署方式。试用期间,相关产品和服务提供免费资源和专业技术支持,帮助您的企业快速轻松实现Serverless!详情请参见:More Thing3 您可以在几秒钟内做什么?喝一口水,阅读一封电子邮件,还是部署一个完整的无服务器应用程序?复制以下链接到PC浏览器访问:china.serverless.com/express 3秒部署,体验史上最快实用Serverless HTTP开发!传送门:GitHub:github.com/serverless 官网:serverless.com 点击阅读原文,访问Serverless中文网。

Serverless实践:企业微信机器人还能这么做吗?

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 跨境物流火爆,运无界完成数千万元战略融资

    跨境物流火爆,运无界完成数千万元战略融资

    据投资界(ID:pedaily)1月13日消息,近日,深圳海运股份有限公司提供一——停止为中国品牌出海提供跨境物流综合服务。 无忧网络科技有限公司(简称“运无界”)正式宣布完成A轮数千万元战略融资。 本轮融资由和君资本、宝恒丰投资共同投资。 宝恒丰投资的股东由多名经验丰

    06-18

  • 几乎天天化妆的95后正在失去不化妆的权利

    几乎天天化妆的95后正在失去不化妆的权利

    各行各业期盼的报复性消费终于在美妆行业爆发了。 据星图数据对22个主流平台、8个品牌、1万种产品的监测数据显示,美妆行业总销售额达82.58亿元。 其中,天猫实现美妆化妆品销售额59秒破亿,个护销售额3分钟破亿并超越去年全天销售额,1小时售出00支口红。 京东战报显示,美妆

    06-18

  • 江宁高新区:设立50亿元宇宙专项资金

    江宁高新区:设立50亿元宇宙专项资金

    江宁高新区加快元宇宙产业发展三年行动计划()习近平与总书记就“把我国数字经济做强做优做大”,落实党的二十大报告《加快发展数字经济,推动世界各国深度融合》的重要结论《南京市加快元宇宙产业发展行动计划()》表示,江宁高新区结合自身资源禀赋,结合当前发展现状,围

    06-18

  • 好成家科技完成千万天使轮融资

    好成家科技完成千万天使轮融资

    据投资界(ID:pedaily)7月1日消息,据36氪报道,国内家电货到付款共享平台好成家科技宣布,已完成数千万元天使轮融资,投资方为顾家投资、易网易创、浩成集团,并同步完成第一批城市服务商的选拔和培训,开始建设全国30个城市的家超级流量网络。 资料显示,好成家成立于今

    06-18

  • 工信部:一季度规模以上工业单位增加值能耗同比下降8.1%

    工信部:一季度规模以上工业单位增加值能耗同比下降8.1%

    从工信部获悉,2019年全国规模以上工业增加值能耗同比下降8.1%。 一季度,我国低碳智能产品产量快速增长,新能源汽车、集成电路等产品产量分别增长3.1倍和3.1倍。 62.1%。 制造业绿色转型正在加速。 一季度,规模以上工业单位增加值能耗同比下降8.1%。

    06-18

  • 内容孵化公司三福互娱获国众创投3000万元A+轮投资

    内容孵化公司三福互娱获国众创投3000万元A+轮投资

    据投资界9月2日消息,以漫画为核心的原创IP内容提供商三福互娱完成投资获国众创投1万元A+轮融资。 三福互娱成立于2006年,以漫画业务起家。 目前涵盖漫画、影视、游戏三大业务板块。 已完成多轮融资。 官网信息显示,早在2018年,三福互娱就完成了由辰耀资本领投的数千万元P

    06-18

  • 【24小时创业-汽车交通】2024年6月7日

    【24小时创业-汽车交通】2024年6月7日

    特斯拉与比亚迪或将合作,共同拓展储能市场。 据LatePost消息,比亚迪子公司福迪电池已与特斯拉达成供货协议,预计从明年一季度开始向特斯拉供应储能电池。 此次合作可能预示着特斯拉将在汽车业务增长放缓的背景下将重点转向储能业务的发展,并寻求电池芯供应商多元化以确保供

    06-18

  • 共享打印机“小白无忧”获400万元天使轮融资

    共享打印机“小白无忧”获400万元天使轮融资

    据投资界8月18日消息,共享打印机“小白无忧”宣布获万元天使轮融资融资。 此次投资方包括具有上市公司背景的浙江海宁瑞业。 基金与前纪源资本(GGV)合伙人孙文海。   小白无忧成立于今年3月。 这是一家专注于提供共享打印机服务的公司。 打印机的所有权属于平台,使用权

    06-18

  • 振威逍遥明获数千万元A轮融资

    振威逍遥明获数千万元A轮融资

    3月19日消息,据36氪报道,振威逍遥明近日完成数千万元A轮融资。 投资方为国盛资本,是42章经济的子公司,42资本担任财务顾问独家。 据悉,本轮募集资金将用于团队扩张、品牌营销和研发投入。 这是真味逍遥成立以来的第三轮融资。 此前,公司已获得零一创投的百万美元天使轮融

    06-18

  • 由谷歌和比尔盖茨资助的聚变反应堆的建设已经开始, “能源自由”何时到来?

    由谷歌和比尔盖茨资助的聚变反应堆的建设已经开始, “能源自由”何时到来?

    “人造太阳”实际上是指核聚变反应装置。 核聚变是氢同位素氘和氚等质量较小的原子在极高温度下相互碰撞和聚集以产生新质量的过程。 较重的原子核,通常是氦的同位素。 反应过程中产生的巨大能量与太阳等恒星内部发生的反应相同,因此核聚变反应装置被称为“人造太阳”。 ▲图

    06-21

  • 蓝帆医疗公告旗下全资子公司蓝帆柏盛进行9亿人民币增资扩股

    蓝帆医疗公告旗下全资子公司蓝帆柏盛进行9亿人民币增资扩股

    蓝帆医疗宣布,蓝帆医疗全资子公司蓝帆柏盛将增资扩股9亿元人民币。 2020年1月25日晚间,蓝帆医疗(82.SZ)发布公告称,公司心脑血管业务实体及全资子公司北京蓝帆柏盛医疗科技有限公司(简称“蓝帆柏盛”)计划引进战略投资者首创健康产业(北京)基金(有限合伙)、河北临空

    06-17

  • 黑眼豆豆成员Will.i.am创立的智能硬件公司i.am+获得光大资本领投的新一轮融资, AI+时尚+消费拓展中国市场

    黑眼豆豆成员Will.i.am创立的智能硬件公司i.am+获得光大资本领投的新一轮融资, AI+时尚+消费拓展中国市场

    据投资界12月28日消息,光大控股与IDG资本广济资本产业基金(简称“基金”)共同设立的基金宣布,作为唯一中国投资者,该基金已完成美国顶级智能硬件公司i.am+的新一轮融资。 同时,i.am+大中华区是双方的合资公司。 区公司正式挂牌成立。    据悉,本次投资是光大资本智慧

    06-17