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

相关推荐
小陶来咯18 分钟前
机器人坐下后拍触摸板站起行动指令无效 — Bug 分析
机器人·bug
LT10157974448 小时前
2026年国产兼容RPA选型指南:国产系统与软件全适配
自动化·rpa
qingfeng154159 小时前
企业微信机器人开发:如何实现自动化与智能运营?
人工智能·python·机器人·自动化·企业微信
pengyi8710159 小时前
独享IP池自动化维护方案,智能检测自动延长使用寿命
网络协议·tcp/ip·自动化
Agent手记10 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
不会武功的火柴13 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
武子康13 小时前
调查研究-138 全球机器人产业深度调研报告【01 篇】:市场规模、竞争格局与商业化成熟 2026
服务器·数据库·ai·chatgpt·机器人·具身智能
慧都小妮子15 小时前
告别看图抓数据:DeviceXPlorer OPC Server 助力数据自动化管理
运维·物联网·自动化·takebishi·dxpserver·opc server
Wpa.wk15 小时前
APP自动化-Appium环境安装
运维·appium·自动化
才兄说16 小时前
机器人二次开发机器人动作定制?毫秒级同步精度
大数据·人工智能·机器人