【自动化】钉钉机器人 群通知 心跳监测

官方开发文档

一、登录组织

首先,您需要登录并加入具有管理权限的组织,可通过以下链接登录:
登录、加入具有管理权限的组织
加入有权限的组织

二、创建应用

接下来,您可以创建一个应用,可使用以下链接进行创建:
创建应用
创建应用、在应用上开发

三、机器人配置

在创建应用后,您需要进行机器人配置。可以通过以下链接进行配置:
机器人配置
创建一个机器人
确认发布

四、群配置 获取webhook_url

群配置


打开
添加机器人
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

设置钉钉机器人的Webhook地址

webhook_url = “https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN”
请添加图片描述
请添加图片描述

五、发送请求

在配置完成后,您可以获取机器人的Webhook URL,用于发送消息。下面是使用Python中的requests库发送HTTP请求到钉钉机器人的示例代码

## 要发送的消息内容
message = "这是一条测试消息。"

## 发送钉钉消息
send_dingtalk_message(webhook_url, message)
请将YOUR_ACCESS_TOKEN替换为您在钉钉机器人设置中获得的实际访问令牌(Access Token)。

上述代码定义了一个send_dingtalk_message函数,它使用requests库向钉钉机器人发送消息。该函数接受钉钉机器人的Webhook地址和要发送的消息作为参数。函数将消息格式化为JSON,并通过HTTP POST请求发送到指定的Webhook地址。

您可以根据需要,在程序中的适当位置调用send_dingtalk_message函数,将错误信息或其他需要提醒的消息发送给钉钉机器人。
import requests
import json
# 发送消息的代码
def send_dingtalk_message(webhook_url, message):
    headers = {
    
    'Content-Type': 'application/json'}
    data = {
    
    
        'msgtype': 'text',
        'text': {
    
    
            'content': message
        }
    }
    response = requests.post(webhook_url, headers=headers, data=json.dumps(data))
    if response.status_code == 200:
        print("DingTalk message sent successfully.")
    else:
        print("Failed to send DingTalk message. Status code:", response.status_code)

效果如图

六、应用:每日更新和心跳检测

# 心跳检测
try:
    send_heartbeat_cloud()
    log_right("[云服务器] 心跳存在")
except Exception as e:
    k = 1
    while k <= 5:
        send_heartbeat_cloud()
        k = k + 1
    # 发送钉钉消息
    send_dingtalk_message(webhook_url, f"[云服务器] 心跳停止!!! {
      
      e}")
    log_error(f"[云服务器] 心跳停止!!!   {
      
      e}")
try:
    send_heartbeat_local()
    log_right("[后端服务器] 心跳存在")
except Exception as e:
    k = 1
    while k <= 5:
        send_heartbeat_cloud()
        k = k + 1
    log_error(f"[后端服务器] 心跳停止!!! {
      
      e}")
    send_dingtalk_message(webhook_url,f"[后端服务器] 心跳停止!!! {
      
      e}")
try:
    time0 = time.time()
    data = get_time_data()
    sync(data)
    time1 = time.time()
    run_time = time1 - time0
    one_day_in_seconds = 24 * 60 * 60 - run_time - 2
    log_right("【日更新成功】")
    send_dingtalk_message(webhook_url,message="[供应商管理系统]日更新成功")
except Exception as e:
    log_error(e)
    send_dingtalk_message(webhook_url,message=f"**********[警告]日更新失败 ’{
      
      e}‘**********")

猜你喜欢

转载自blog.csdn.net/weixin_45312236/article/details/130823995