소스 검색

微信机器人-青龙脚本

zhensolid 3 달 전
부모
커밋
224a900e10
1개의 변경된 파일58개의 추가작업 그리고 0개의 파일을 삭제
  1. 58 0
      wechat-bot.js

+ 58 - 0
wechat-bot.js

@@ -0,0 +1,58 @@
+/**
+ * 企业微信机器人推送(Markdown 文字 + 图片)
+ * 运行环境:青龙 Node.js
+ */
+
+const axios = require('axios');
+const crypto = require('crypto');
+
+// ======= 配置区 =======
+const WEBHOOK_URL = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=795d0b1e-20e9-40ab-979c-a5752cd2de67'; // 机器人Webhook
+const TEXT_CONTENT = '## 温馨提示:\n\n 预算创建时,🔴 **预算模板**需勾选,⚙️ **取费标准**需勾选。📝 请确保所有选项正确设置。\n\n请参考下方图片 👇 可点击放大';
+const IMAGE_URL = 'https://p.sda1.dev/27/ddc36bcbf0ebe6c136ca363be580ac93/PixPin_2025-09-16_12-04-46.png'; // 图片URL
+// =====================
+
+// 发送Markdown格式的消息
+async function sendMarkdown(text) {
+    try {
+        const payload = {
+            msgtype: 'markdown',
+            markdown: {
+                content: text,
+            }
+        };
+        const res = await axios.post(WEBHOOK_URL, payload);
+        console.log('Markdown文字推送结果:', res.data);
+    } catch (err) {
+        console.error('Markdown文字推送失败:', err);
+    }
+}
+
+// 发送图片消息(支持网络URL)
+async function sendImage(imageUrl) {
+    try {
+        const res = await axios.get(imageUrl, { responseType: 'arraybuffer' });
+        const imgData = Buffer.from(res.data);
+        const base64Img = imgData.toString('base64');
+        const md5 = crypto.createHash('md5').update(imgData).digest('hex');
+
+        const payload = {
+            msgtype: 'image',
+            image: {
+                base64: base64Img,
+                md5: md5
+            }
+        };
+
+        const response = await axios.post(WEBHOOK_URL, payload);
+        console.log('图片推送结果:', response.data);
+    } catch (err) {
+        console.error('图片推送失败:', err);
+    }
+}
+
+// 主函数
+(async () => {
+    await sendMarkdown(TEXT_CONTENT);  // 发送Markdown格式的文字
+    await sendImage(IMAGE_URL);        // 发送图片
+})();