钉钉Webhook机器人如何发送群消息?

钉钉Webhook机器人如何发送群消息?

在钉钉中通过 Webhook 机器人发送消息的步骤如下:

一、创建自定义机器人

  1. 进入群设置

    • 打开钉钉群 → 点击右上角「设置」→「群管理」
  2. 添加机器人

    • 点击 机器人 ->「添加机器人」→ 选择「自定义」
    • 点击「添加」
  3. 获取Webhook地址

    • 创建完成后复制 Webhook URL

设置成功后如下:

二、发送消息示例

1. 基础文本消息

python 复制代码
import json
import requests

url = "你的Webhook地址"

headers = {"Content-Type": "application/json"}
data = {
    "msgtype": "text",
    "text": {
        "content": "监控报警:服务器CPU使用率超过90%"
    }
}

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())

2. Markdown格式消息

python 复制代码
data = {
    "msgtype": "markdown",
    "markdown": {
        "title": "项目更新",
        "text": "### 项目进度报告\n- **任务**:API开发\n- **状态**:✅ 已完成\n- **负责人**:张三\n- [查看详情](http://example.com)"
    }
}

3. 带@提醒的消息

python 复制代码
data = {
    "msgtype": "text",
    "text": {
        "content": "@张三 请处理紧急工单"
    },
    "at": {
        "atMobiles": ["13888888888"],  # 手机号
        "atUserIds": ["user123"],      # 用户ID
        "isAtAll": False               # 是否@所有人
    }
}

4. 链接消息

python 复制代码
data = {
    "msgtype": "link",
    "link": {
        "text": "这是一条链接消息", 
        "title": "系统通知",
        "picUrl": "https://img.example.com/1.jpg",
        "messageUrl": "https://www.example.com"
    }
}

5. ActionCard(按钮卡片)

python 复制代码
data = {
    "msgtype": "actionCard",
    "actionCard": {
        "title": "审批通知",
        "text": "### 请假申请\n申请人:李四\n时间:2024-01-01",
        "btns": [
            {
                "title": "同意",
                "actionURL": "http://example.com/approve"
            },
            {
                "title": "拒绝", 
                "actionURL": "http://example.com/reject"
            }
        ]
    }
}

三、安全设置处理

加签验证

python 复制代码
import time
import hmac
import hashlib
import base64
import urllib.parse

timestamp = str(round(time.time() * 1000))
secret = "你的加签密钥"
secret_enc = secret.encode('utf-8')
string_to_sign = f'{timestamp}\n{secret}'
string_to_sign_enc = string_to_sign.encode('utf-8')

hmac_code = hmac.new(secret_enc, string_to_sign_enc, 
                     digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote(base64.b64encode(hmac_code))

# 将timestamp和sign添加到URL
webhook_url = f"{原URL}&timestamp={timestamp}&sign={sign}"

四、使用 cURL 示例

bash 复制代码
curl '你的Webhook地址' \
  -H 'Content-Type: application/json' \
  -d '{
    "msgtype": "text",
    "text": {
        "content": "测试消息"
    }
  }'

注意事项

  1. 频率限制:每分钟最多20条消息
  2. 消息长度:文本消息不超过5000字符
  3. 关键词匹配:如果设置了关键词,消息中必须包含
  4. 错误处理:建议添加重试机制和错误日志
  5. 敏感信息:不要在消息中暴露敏感数据

调试建议

  • 使用钉钉官方提供的调试工具
  • 先发送测试消息验证配置
  • 检查返回的状态码和错误信息

这样你就可以通过钉钉Webhook机器人发送各种类型的消息了!

相关推荐
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
风合星语4 天前
2026 具身智能技术实战(一):VLA 到底怎么控制机器人?——用 LeRobot 跑通 SmolVLA 推理
pytorch·机器人·具身智能·vla·lerobot·smolvla
鲁邦通物联网4 天前
图书馆机器人跨楼层运行,机器人梯控低噪设计与架构分析
机器人·巡检机器人·机器人梯控·agv梯控·非侵入式采集·机器人乘梯·机器人自主乘梯
PascalXie4 天前
人形机器人的“眼睛“:多目视觉方案怎么选?
计算机视觉·机器人
广州虚拟动力-动捕&虚拟主播4 天前
产教融合,具身智能数据采集实训室打造五大真实场景
机器人
其实防守也摸鱼4 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
微信开发api4 天前
微信iPad协议怎么用?基于协议的二次开发实践
微信·机器人·ipad
QYR-分析4 天前
机器人精密运动升级,机器人关节动态旋转密封件行业全景市场报告
人工智能·机器人
森叶4 天前
用远程调试端口自动化 Chrome 应用商店发布:做法、三个真坑,以及你必须知道的风险
自动化