钉钉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机器人发送各种类型的消息了!

相关推荐
焦耳热科技前沿4 小时前
北京科技大学/理化所ACS Nano:混合价态Cu₂Sb金属间化合物实现高效尿素电合成
大数据·人工智能·自动化·能源·材料工程
Illusionna.6 小时前
C语言自动进行独立样本 t 检验
c语言·自动化·显著性·统计检验·独立样本t检验·ttest·levene
沫儿笙7 小时前
ABB焊接机器人混合气体节气方案
人工智能·机器人
GAOJ_K10 小时前
丝杆模组精度下降的预警信号
人工智能·科技·机器人·自动化·制造
焦耳热科技前沿10 小时前
中科大EMA:3秒焦耳热一步合成双功能催化剂用于甲醇氧化协同高效制氢
大数据·人工智能·自动化·能源·材料工程
TMT星球11 小时前
星动纪元携人形机器人家族亮相CES 2026,海外业务占比达50%
大数据·人工智能·机器人
数说星榆18113 小时前
在线高清泳道图制作工具 无水印 PC
大数据·人工智能·架构·机器人·流程图
乾元13 小时前
现场运维机器人的工程化落地——移动探针采集 + AI 诊断,在真实网络中的实现路径
运维·网络·人工智能·架构·机器人·自动化
Lun3866buzha13 小时前
水下管道巡检机器人对潜艇的检测与识别系统-yolox_l_8xb8-300e_coco实现
机器人
蜕变的土豆14 小时前
一、Mujoco-开始篇
机器人