首页 > 其他分享 >利用webhooks在企业微信中启用群机器人发送消息

利用webhooks在企业微信中启用群机器人发送消息

时间:2022-08-23 14:12:12浏览次数:68  
标签:__ 启用 微信 webhook error import webhooks logger

以企业微信PC端为例,利用webhooks在企业微信中启用群机器人接收、发送消息。

1. 添加机器人并获取webhooks地址

获得webhook地址如:

https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=dc53a9fd-5c06-4e35-b869-cc69e74c9325

2. 使用Webhook地址

使用Webhook地址,进行相关信息的推送。

2.1 样例一:普通.py脚本

import requests

requests.post(url=cls.WEIXIN_WEBHOOK_URI, data=json.dumps(data))

2.2 样例二:Jenkinsfile

post{
always{
script{
withEnv(['JAVA_HOME=/usr/local/java', 'PATH+=/usr/local/java/bin']) {
allure includeProperties: false, report: 'static/report', results: [[path: 'static/allure_data']]
result = currentBuild.currentResult
}
sh("""\
curl '${WEIXIN_WEBHOOK_URI}' \
-H 'Content-Type: application/json' \
-d '${JSON_DATA}'
""")
}
}
}

备注:

1.有外部人员的群无法添加群机器人

2.只有创建机器人的时候才能拿到webhook的信息

3. 项目实战

logger.py
from loguru._logger import Core as _Core
from loguru._logger import Logger as _Logger
from loguru import _defaults
import sys as _sys
from util.wechat_webhook import WechatWebHook


class CustomizedLogger(_Logger):
    """重写logger类中的error方法,打印error log时企业微信同步推送错误日志"""
    def __init__(self, core, exception, depth, record, lazy, colors, raw, capture, patcher, extra):
        super().__init__(core, exception, depth, record, lazy, colors, raw, capture, patcher, extra)

    def error(self, __message, *args, **kwargs):
        r"""Log ``message.format(*args, **kwargs)`` with severity ``'ERROR'``."""
        WechatWebHook.push_error_msg(__message)
        self._log("ERROR", None, False, self._options, __message, args, kwargs)


logger = CustomizedLogger(_Core(), None, 0, False, False, False, False, True, None, {})

if _defaults.LOGURU_AUTOINIT and _sys.stderr:
    logger.add(_sys.stderr)

if __name__ == '__main__':
    logger.error('测试webhook机器人发送消息')
webchat_webhook.py
import requests
from settings import settings

class WechatWebHook:
    """企业微信消息推送"""
    @classmethod
    def push_error_msg(cls, msg: str) -> None:
        """错误日志直接推送至企业微信"""
        data = {
            "msgtype": "text",
            "text": {
                "content": msg,
                "mentioned_mobile_list": ["18627741152"]
            }
        }

        requests.post(url=settings.webhook_uri, headers={"Content-Type": "text/plain"}, json=data)

标签:__,启用,微信,webhook,error,import,webhooks,logger
From: https://www.cnblogs.com/dyl0/p/16615662.html

相关文章

  • 关于post请求与get请求的区别(转自微信端公众号 自动化测试)
    如果我告诉你GET和POST本质上没有区别你信吗?让我们扒下GET和POST的外衣,坦诚相见吧!GET和POST是什么?HTTP协议中的两种发送请求的方法。HTTP是什么?HTTP是基于TCP/IP的关......
  • 【教程】微信推文怎么添加附件文档 (如word文档、excel表格、pdf文件)
     对于很多企业单位、中小学校公众号来说,有时在对外发布信息时,需要在公众号文章中插入各种文档附件,如:应聘报名表、健康承诺书、记录统计表、防疫登记表、申报评分、公告通......
  • 微信小程序day01
    微信小程序小程序App大小有限制,不超过2M(功能相对局限)大小无限制(功能更强大)不用安装,不用更新(方便)需要到商城下载,定期更新(复杂)打开方......
  • 使用clipboard.js复制文字+图片到微信后图片不显示问题处理
    使用clipboard.js复制文字+图片,粘贴到微信不显示图片,而QQ可以。解决方案:图片链接使用http,不要使用https。 使用clipboard.js实现复制功能文字+图片到微信客户端输入......
  • 关于EasyCVR平台Ehome协议接入设备出现停止启用现象的原因分析
    EasyCVR平台支持多类型设备、多协议方式接入,包括市场主流标准协议国标GB/T28181、RTMP、RTSP/Onvif协议等,以及厂家私有协议,如海康SDK、大华SDK、海康Ehome等。平台可将接入......
  • 微信小程序 自定义时间组件
    效果图代码xml<viewclass="date_bg_view"></view><viewclass="date_content"><viewclass="date_title"><van-iconname="cross"class="close"size="20p......
  • SAP 启用未清项管理
    详情参考 https://www.jianshu.com/p/e9f1270d8c1f一、FS00更改。报错更改不可能,需要把余额清空,再设置未清项。如果不想手工转余额,有下面几种方法。1、RFSEPA02对......
  • 微信8.0.27正式更新,这4个功能太赞了!
    最近,安卓微信终于更新了8.0.27正式版,在正式版中带来了4个比较实用的功能,在个人信息保护、聊天记录备份、软件使用方便程度上都有不错的表现。下面我们就一起瞧瞧这些新功......
  • Centos7手动启用Swap分区
    Centos7手动启用Swap分区第一步、查看是否开启过swap分区cat/proc/swaps如果没有信息,就说明没有开启swap分区,如果有说明已经开启过swap分区了第二步、创建文件夹,创建swa......
  • uniapp/微信小程序base64方式引入iconfont
    一、准备网站1、https://www.iconfont.cn2、https://transfonter.org 二、在iconfont里选择自己想要的图标,将他们添加到项目里。跳转到项目页面后,按下图操作,......