UNPKG

wework-bot-mcp-server

Version:

企业微信机器人 MCP Server - 提供企业微信消息发送、群管理等功能

81 lines 2.3 kB
import axios from 'axios'; import crypto from 'crypto'; export class WeWorkClient { config; httpClient; constructor(config) { this.config = config; this.httpClient = axios.create({ timeout: 10000, headers: { 'Content-Type': 'application/json', }, }); } async sendMessage(options) { const message = { msgtype: options.type || 'text', }; if (options.type === 'markdown') { message.markdown = { content: options.content, }; } else { message.text = { content: options.content, mentioned_list: options.mentionUsers, mentioned_mobile_list: options.mentionMobiles, }; } return this.sendBotMessage(message); } async sendNews(options) { const message = { msgtype: 'news', news: { articles: options.articles, }, }; return this.sendBotMessage(message); } async sendImage(base64Data) { const md5Hash = crypto.createHash('md5').update(base64Data, 'base64').digest('hex'); const message = { msgtype: 'image', image: { base64: base64Data, md5: md5Hash, }, }; return this.sendBotMessage(message); } async sendBotMessage(message) { try { const response = await this.httpClient.post(this.config.webhookUrl, message); return response.data; } catch (error) { if (axios.isAxiosError(error)) { throw new Error(`企业微信API请求失败: ${error.message}`); } throw error; } } async validateWebhook() { try { const testMessage = { msgtype: 'text', text: { content: 'MCP Server 连接测试', }, }; const response = await this.sendBotMessage(testMessage); return response.errcode === 0; } catch (error) { return false; } } } //# sourceMappingURL=wework-client.js.map