消息配置

暂无机器人配置,请在下方添加

文本消息
Markdown
图片消息

注意:钉钉机器人有频率限制(每分钟最多20条),请合理设置发送间隔

发送成功
消息已成功发送至钉钉机器人

机器人配置

支持配置多个钉钉机器人,如只需要一个机器人,其他配置留空即可。

机器人 1

从钉钉机器人设置页面复制的access_token部分

如未设置加签,则留空即可


Worker 代理设置指南

步骤 1: 创建 Cloudflare 账户

访问 Cloudflare 注册页面 创建免费账户(无需信用卡)

步骤 2: 创建 Workers 代理

登录后访问 Workers 控制台,点击 "Create a Worker"

步骤 3: 配置 Worker 代码

Worker 代码复制到编辑区域,然后点击 "Save and Deploy"

步骤 4: 获取 Worker URL

记下生成的 URL(格式: https://your-worker.your-subdomain.workers.dev

步骤 5: 配置前端

在下方输入您的 Worker URL,然后保存

这是您在 Cloudflare 创建的 Worker URL

Worker 代码

// 复制以下代码到 Cloudflare Workers addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { // 处理 CORS 预检请求 if (request.method === 'OPTIONS') { return new Response(null, { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type', 'Access-Control-Max-Age': '86400' } }); } // 只接受 POST 请求 if (request.method !== 'POST') { return new Response('Method not allowed', { status: 405, headers: { 'Access-Control-Allow-Origin': '*' } }); } try { const { token, sec, message } = await request.json(); // 验证必要参数 if (!token) { return new Response(JSON.stringify({ error: 'Missing token parameter' }), { status: 400, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } // 构建钉钉 Webhook URL let url = `https://oapi.dingtalk.com/robot/send?access_token=${token}`; // 如果有 sec 密钥,生成签名 if (sec && sec.trim() !== '') { const timestamp = Date.now(); const secret = sec.trim(); const stringToSign = `${timestamp}\n${secret}`; // 生成签名 const encoder = new TextEncoder(); const keyData = encoder.encode(secret); const messageData = encoder.encode(stringToSign); const cryptoKey = await crypto.subtle.importKey( 'raw', keyData, { name: 'HMAC', hash: 'SHA-256' }, false, ['sign'] ); const signature = await crypto.subtle.sign('HMAC', cryptoKey, messageData); const base64Signature = btoa(String.fromCharCode(...new Uint8Array(signature))); url += `×tamp=${timestamp}&sign=${encodeURIComponent(base64Signature)}`; } // 转发请求到钉钉 const response = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(message) }); // 返回钉钉的响应 const result = await response.json(); return new Response(JSON.stringify(result), { headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } catch (error) { return new Response(JSON.stringify({ error: error.message }), { status: 500, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' } }); } }

如何获取钉钉机器人Token

  1. 在钉钉群中点击右上角群设置
  2. 选择"智能群助手" → "添加机器人"
  3. 选择"自定义机器人"
  4. 设置机器人名称和头像
  5. 获取Webhook地址中的access_token值
  6. 如需安全验证,可设置加签并获取Sec密钥

功能特点

多机器人支持
可配置多个机器人,自由切换发送
📝
多种消息类型
支持文本、Markdown、图片消息
🎨
自定义颜色
Markdown消息支持自定义文字颜色
⏱️
定时发送
可设置发送次数和时间间隔
🔒
安全加签
支持Sec密钥加签验证,更安全
📱
响应式设计
适配手机、平板、电脑各种设备

使用提示

  • 每个机器人每分钟最多发送20条消息
  • 图片URL必须是公网可访问的地址
  • Markdown支持有限的HTML标签
  • 建议设置适当的发送间隔避免被限流