企业微信添加群机器人并向群里发布消息

背景

在开发时出现一些需要实时监控的任务,类似服务器挂了,执行脚本未按时执行,报错日志展示等。需要及时通知,以免造成重大损失。

配置企业微信群机器人

企业微信有对外开放的api 接口,只要配置相关参数即可使用

步骤1:创建企业微信机器人的webhook地址

            1:打开企业微信——点击群聊标志👥

            2:进去聊天信息界面之后,点击"群机器人"

            3:进去之后,可以看到机器人支持Webhook协议,配置好之后,可以将业务信息推送到群里

            4:输入机器人名字,点击添加

            5:点击完成,就成功添加机器人,添加机器人之后,生成一个Webhook地址,需要配置Webhook,配置好之后,可以推送业务信息

步骤2:配置群机器人参数

            参考企业微信提供的api接口文档(https://work.weixin.qq.com/api/doc/90000/90136/91770)

            我配置时只用到了text(文本类型),其他类型参考接口文档

{
    "msgtype": "text",
    "text": {
        "content": "展示内容",
        "mentioned_list":["指定@人名","@all"],
        "mentioned_mobile_list":["指定人手机号","@all"]
    }
}


参数是否必填说明
msgtype消息类型,此时固定为text
content文本内容,最长不超过2048个字节,必须是utf8编码
mentioned_listuserid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人,如果开发者获取不到userid,可以使用mentioned_mobile_list
mentioned_mobile_list手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人

 

举例

def send_to_qy_wechat(userid=None, alert_message):
	# 企业微信发送报警信息配置
    # url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN'
    try:
        webhook_header = {
            "Content-Type": "application/json",
        }
        webhook_url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXXXXXXXXXXXXXXXXXXXXXX'
        
        webhook_message = {
            "msgtype": "text",
            "text": {
                "content": alert_message,
                "mentioned_list": [userid]
            },
        }
        requests.post(url=webhook_url, headers=webhook_header, json=webhook_message)
    except:
        traceback.print_exc()
send_to_qy_wechat('@XXXXX', '放展示内容')


            

           

 

 

 

 

 

 

 

### 如何在企业微信中实现机器人的发消息功能 #### 创建配置企业微信机器人 为了使ABAP能够通过API向企业微信发送消息,需先创建和配置好相应的机器人。 - **准备一个企业微信** 需要有一个已建立的企业微信作为基础环境[^1]。 - **添加机器人** 在选定的企业微信内加入一个新的机器人成员。这一步骤通常由管理员完成,在点击右上角菜单选项找到设置入口来操作。 - **获取Webhook地址** 成功添加后,记录下该机器人的Webhook URL链接,这是后续编程调用的关键参数之一。 #### 使用ABAP编写程序以调用API发送消息 当上述准备工作完成后,接下来就是在SAP系统利用ABAP语言构建必要的逻辑去触发HTTP请求给定的Webhook端点从而实现在指定发布通知的功能。 - **新建开发包** 开始前应先定义一个新的ABAP项目容器即所谓的“开发包”,用于容纳即将编写的各类对象文件如类、函数模块等。 - **写接口服务与实现** 编码部分主要涉及两个方面的工作: - 定义对外的服务契约(Interface),规定了其他组件如何与其交互; ```abap INTERFACE lif_wechat_robot. METHODS send_message IMPORTING message TYPE string. ENDINTERFACE. ``` - 提供具体的业务处理流程,比如封装HTTP POST方法连同所需的数据结构一起传递至目标URL处执行推送动作; ```abap CLASS lcl_wechat_robot DEFINITION FINAL CREATE PRIVATE. PUBLIC SECTION. INTERFACES: lif_wechat_robot. PROTECTED SECTION. PRIVATE SECTION. DATA mo_http_client TYPE REF TO if_http_client. CONSTANTS: gc_webhook_url VALUE 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your-key'. ENDCLASS. CLASS lcl_wechat_robot IMPLEMENTATION. METHOD lif_wechat_robot~send_message. TRY. CALL METHOD cl_http_client=>create_by_url EXPORTING url = gc_webhook_url RECEIVING client = mo_http_client. " 设置请求体内容为JSON格式的消息文本 DATA(lv_body) = |{"msgtype": "text", "text": {"content": "{message}"}}|. " 执行POST请求将响应保存到变量中以便进一步分析可能存在的错误情况 DATA(lo_response) = mo_http_client->request->set_cdata( lv_body )->send()->get_response_entity(). CATCH cx_root INTO DATA(e_text). WRITE:/ e_text->get_text( ). ENDTRY. ENDMETHOD. ENDCLASS. ``` - **测试发送** 最终可以通过简单的单元测试案例验证整个过程是否顺畅无误地实现了预期目的——成功发出一条来自特定企业的内部通讯工具上的即时聊天室内的广播信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值