这篇文章将为大家详细讲解有关nodejs通过钉钉群机器人推送消息,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
实现
代码是 ts 实现的,用了 request 发起http请求,具体参数参考钉钉官方文档,只实现了文本消息的推送,其它消息类似,再进行一层封装,实现代码如下:
import * as request from "request"; import * as log4js from "log4js"; const logger = log4js.getLogger("DingdingBot"); const ApplicationTypeHeader:string = "application/json;charset=utf-8"; // DingdingBot // https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq export class DingdingBot{ private readonly _webhookUrl:string; constructor(webhookUrl:string){ this._webhookUrl = webhookUrl; } public pushMsg (msg: string, atMobiles?: Array<string>): boolean{ try { let options: request.CoreOptions = { headers: { "Content-Type": ApplicationTypeHeader }, json: { "msgtype": "text", "text": { "content": msg }, "at": { "atMobiles": atMobiles == null ? [] : atMobiles, "isAtAll": false } } }; request.post(this._webhookUrl, options, function(error, response, body){ logger.debug(`push msg ${msg}, response: ${JSON.stringify(body)}`); }); } catch(err) { console.error(err); return false; } } }
使用方式:
// botWebhookUrl 为对应钉钉机器人的 webhook 地址 let bot = new DingdingBot(botWebhookUrl);; // 直接推送消息 bot.pushMsg("测试消息"); // 推送消息并 @ 某些人 var mobiles = new Array<string>(); mobiles.push("13255573334"); bot.pushMsg("测试消息并@", mobiles);
关于nodejs通过钉钉群机器人推送消息就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。