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

相关推荐
纳米软件3 小时前
电源模块纹波与噪声测试:从原理到自动化实现
自动化·labview·电源测试系统·atecloud·零代码软件开发
卷福同学4 小时前
【养虾日记】QClaw操作浏览器自动化发文
运维·人工智能·程序人生·自动化
智_永无止境4 小时前
AI时代,一个Skill如何让Java项目结构自动化?
自动化·skills
新新学长搞科研6 小时前
第五届电子、集成电路与通信技术国际学术会议(EICCT 2026)
运维·人工智能·自动化·集成测试·信号处理·集成学习·电气自动化
阿达_优阅达6 小时前
告别手工对账:xSuite 如何帮助 SAP 企业实现财务全流程自动化?
服务器·数据库·人工智能·自动化·sap·企业数字化转型·xsuite
zh路西法7 小时前
【宇树机器人强化学习】(六):TensorBoard图表与手柄遥控go2测试
python·深度学习·机器学习·机器人
renhongxia17 小时前
多模态融合驱动下的具身学习机制研究
运维·学习·机器人·自动化·知识图谱
Chengbei118 小时前
Chrome浏览器渗透利器支持原生扫描!JS 端点 + 敏感目录 + 原型污染自动化检测|VulnRadar
javascript·chrome·安全·web安全·网络安全·自动化·系统安全
Pursue Limits9 小时前
人形机器人之VR遥操作
机器人·vr
天天讯通10 小时前
智能语音机器人未来的发展方向
人工智能·机器人·语音识别