nodejs通过钉钉群机器人推送消息的实现代码
2019-05-05 18:01
555 查看
Intro
最近在用 nodejs 写爬虫,之前的 nodejs 爬虫代码用 js 写的,感觉可维护性太差,也没有智能提示,于是把js改用ts(typescript)重写一下,提升代码质量。
爬虫启动之后不定期会出现验证码反爬虫,需要输入验证码才能继续,于是想在需要输入验证码时推送一个消息给用户,让用户输入验证码以继续爬虫的整个流程。我们平时用钉钉办公,钉钉群有个机器人,很方便于是就实现了一个通过钉钉的群机器人实现消息推送。
实现
代码是 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通过钉钉群机器人推送消息的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关文章推荐
- 通过Socket.IO与nodeJs实现即时消息推送
- 通过Socket.IO与nodeJs实现即时消息推送
- 通过Socket.IO与nodeJs实现即时消息推送
- nodejs实现简单消息推送
- 易语言通过模拟的方式实现对微信的视频图片消息发送的代码
- 应用程序通过WebSocket自行推送业务消息给Subscriber的实现
- android通过服务实现消息推送
- 易语言通过模拟的方式实现对微信的视频图片消息发送的代码
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- 微信开发 消息推送实现代码
- 通过Activemq搭建消息推送服务器实现局域网内android APP的消息推送
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- 基于SignalR的消息推送与二维码扫描登录实现代码
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- NodeJs 实现IOS APNS 消息推送服务
- ios消息推送客户端和服务端实现带代码(java)
- Java中websocket消息推送的实现代码
- SignalR中丰富多彩的消息推送方式的实现代码
- android通过服务实现消息推送
- C++实现文本消息推送--通过post请求方式访问第三方服务器从电脑向手机进行消息推送