前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5 分钟实现企业微信的机器人定时提醒

5 分钟实现企业微信的机器人定时提醒

原创
作者头像
吴云涛
修改2021-11-08 19:31:50
6.6K0
修改2021-11-08 19:31:50
举报
文章被收录于专栏:Flink 实践Flink 实践

一、概述

本案例中用企业微信,添加机器人的方式,来达到消息推送的目的。例子中还读取了腾讯云账号的账户余额,并通过调用机器人Webhook url (http post 请求),实现定时提醒。

这里的定时提醒使用了腾讯云函数触发器,也可以通过 linux 自带的 crontab 工具实现定时触发。

二、实现过程

2.1 创建企业微信机器人

企业微信左侧聊天列表,选中需要创建机器人的群,右键添加机器人,并查看机器人的 webook url。

2.2 编写调用机器人 webhook 的脚本。

创建云函数,编写 python 代码。(或者本地编写,不使用云函数也可)

云函数 python 代码:

代码语言:python
复制
# 首次使用,需安装requests、tencentcloud-sdk-python 依赖包
# pip3 install requests
# pip3 install tencentcloud-sdk-python
import json
import requests as requests

# 消息提醒
def main_handler(event, context):
    print("调用提醒函数")
    webhook = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxxxxxx'
    
    # 拼接待发送的内容 content
    mount = get_billing()
    threshold_value = 1000
    content = None
    if mount < threshold_value:
        content = f'账号余额为:{mount} 元,小于 {threshold_value} 元,请及时充值。'
    else:
        content = f'账号余额为:{mount} 元。'
    # 发送提醒
    requests.post(url=webhook, json={"msgtype": "text", "text": {"content": content}},
                  headers={'Content-Type': 'application/json'})

    return ("Hello World")

# 获取腾讯云账号余额,只做提醒的话不需要此部分
def get_billing():
    import json
    from tencentcloud.common import credential
    from tencentcloud.common.profile.client_profile import ClientProfile
    from tencentcloud.common.profile.http_profile import HttpProfile
    from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
    from tencentcloud.billing.v20180709 import billing_client, models
    try:
        # 你的账号的 secretID 和secretKey
        cred = credential.Credential("你账号的secretID", "你账号的secretKey")
        httpProfile = HttpProfile()
        httpProfile.endpoint = "billing.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = billing_client.BillingClient(cred, "", clientProfile)

        req = models.DescribeAccountBalanceRequest()
        params = {}
        req.from_json_string(json.dumps(params))

        # DescribeAccountBalance: 获取账号余额的API
        resp = client.DescribeAccountBalance(req)
        print(resp.to_json_string())
        
        # 获取账户余额
        mount = resp.Balance * 0.01
    except TencentCloudSDKException as err:
        print(err)
    return mount

2.3 添加定时调度。

方式一:使用云函数,可直接添加触发器,添加 cron 表达式,启动即可。

方式二:使用 linux crontab工具,添加定时任务。网上例子比较多,这里不在赘述。

三、查看效果

企业微信群的提醒效果
企业微信群的提醒效果

参考阅读:

[1] 腾讯云函数实现定时触发:/document/product/583/37509

[2] 企业微信机器人配置说明:https://open.work.weixin.qq.com/api/doc/90000/90136/91770

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述
    • 二、实现过程
      • 2.1 创建企业微信机器人
      • 2.2 编写调用机器人 webhook 的脚本。
      • 2.3 添加定时调度。
  • 三、查看效果
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com