欢迎光临
我们一直在努力

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

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

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

一、创建自定义机器人

  • 进入群设置

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

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

    • 创建完成后复制 Webhook URL
  • 设置成功后如下:
    在这里插入图片描述
    在这里插入图片描述

    二、发送消息示例

    1. 基础文本消息

    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格式消息

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

    3. 带@提醒的消息

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

    4. 链接消息

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

    5. ActionCard(按钮卡片)

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

    三、安全设置处理

    加签验证

    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 示例

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

    注意事项

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

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

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

    赞(0)
    未经允许不得转载:171主机测评 » 钉钉Webhook机器人如何发送群消息?
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址