前言
通过定时触发器,可以非常简单快速的建立一个企业微信机器人;通过该机器人,我们可以定制一个提醒我们喝水、吃饭的小功能,可以实现一个定时推送新闻、天气的小功能,可以实现一个监控告警的小功能。
使用企业微信机器人
在企业微信中,可以选择添加机器人:
![389945d3cdc970a255807a12164f269b.png](https://i-blog.csdnimg.cn/blog_migrate/5fe725faecaefed7963e60d78df5254f.png)
添加机器人之后,我们可以根据文档进行企业微信机器人的基础功能定制:
以下是用curl工具往群组推送文本消息的示例(注意要将url替换成你的机器人webhook地址,content必须是utf8编码):
curl '企业微信机器人地址' \
-H 'Content-Type: application/json' \
-d '
{
"msgtype": "text",
"text": {
"content": "hello world"
}
}'
通过Python语言实现:
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
文件:
import os
import json
import urllib.request
def 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
文件:
MyRobot_Base:
component: '@serverless/tencent-scf'
inputs:
name: MyRobot_Base
runtime: Python3.6
timeout: 3
codeUri: ./base_robot
description: 机器人推送接口
region: ap-guangzhou
environment:
variables:
url: webhook地址
handler: index.main_handler
memorySize: 64
tags:
app: myrobot
events:
- apigw:
name: MyRobot
parameters:
protocols:
- http
- https
description: 机器人推送接口
environment: release
endpoints:
- path: /push
method: ANY
部署成功之后,可以看到系统给