nodejs通过钉钉群机器人推送消息(代码片段)

weihanli weihanli     2022-12-06     800

关键词:

nodejs 通过钉钉群机器人推送消息

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);

如何申请钉钉机器人接口

参考技术A钉钉群机器人钉钉群机器人是一个高级扩展功能,只要有一个钉钉账号,就可以使用它。它可以将第三方信息聚合到钉钉群中,实现信息自动同步。支持Webhook协议的自定义接入,通过发明者量化机器人,将提醒、报警... 查看详情

pythondingtalk钉钉群告警消息发布(代码片段)

...etheus,理论上时可以直接通过alertmanager的配置。通过钉钉机器人的webhook向群里发送告警信息。但是想要格式化输出格式,并且规范化就成了问题。因为每个人都有部署exporter的权限,我不能保证每个exporter下面的desc都能跟我想要... 查看详情

一、python开发的服务程序,调用钉钉接口向钉钉群推送信息的软件能申请专利吗?

...序)-再到处理结果数据分析的闭环。先在群里申请“群机器人”,得到access_token然后调用接口:#!/usr/bin/python...从而快速解决问题,将线上问题尽早解决,那钉钉推送消息,它有什么好处呢?手机钉钉...消息可以第一时间查看... 查看详情

通过钉钉群聊机器人推送zabbix告警

1、首先在zabbix服务端的alertscripts目录下新建一个dingding.sh脚本,内容如下:#!/bin/bashContent=$2curl‘https://oapi.dingtalk.com/robot/send?access_token=XXXX‘  -H‘Content-Type:application/json‘  -d‘&nbs 查看详情

创建钉钉群聊机器人,使用python发送消息(代码片段)

文章目录获取自定义机器人Webhook使用Python发送消息使用curl发送消息获取自定义机器人Webhook1.1、创建群(然后将别人移出群聊)1.2、单击群设置>智能群助手1.3、在机器人管理页面选择自定义机器人1.4、输入机器人名字1... 查看详情

php使用钉钉机器人推送消息

参考技术A群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。目前,大部分机器人在添加后,还需要进行Webhook配置,才可正常使用(配置说明详见操作流程中的帮助链接... 查看详情

钉钉群机器人怎么弄钉钉群机器人设置方法

参考技术A钉钉群机器人的设置方法如下:打开一个钉钉群,在群设置中找到智能群助手;在智能群助手窗口上,点击“添加机器人”;如需要添加敬业签软件在钉钉群中推送待办事件定时提醒的机器人,可添加“自定义”机器... 查看详情

钉钉群聊天机器人(代码片段)

钉钉群机器人项目封装了钉钉群机器人的发送方法,只需要输入ACCESS_TOKEN和SECRET,选择合适的发送类型,就可以一键发送。食用添加pom依赖 <repositories><repository><id>jitpack.io</id><url>https://www.jitpack.i... 查看详情

zabbix--钉钉告警(代码片段)

zabbix钉钉告警机制群机器人是钉钉群的高级扩展功能,群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调... 查看详情

钉钉群机器人

...里自动发信息,目前也只能是用钉钉的。钉钉支持自定义机器人,说白了就是你往一个群里推送消息。协议也比较简单,可以自行到这里看https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq。但目前还不支持问答模式(瞬间也觉得不好... 查看详情

python3钉钉加签名钉钉群机器人巡检告警脚本(代码片段)

本文接上文python3钉钉加签名钉钉群机器人告警脚本https://blog.csdn.net/frdevolcqzyxynjds/article/details/128455191catdd-os-t1.py#!/usr/bin/envpython3#encoding=utf-8importjsonimportsysfromhdfsimport*importjsonimporthash 查看详情

python3钉钉加签名钉钉群机器人告警脚本(代码片段)

...加灵活全网普遍用自定义关键词多,不予置评添加群机器人智能群助手添加机器人自定义机器人设置加签复制一下签名SEC,后边会用到复制webhook点击完成机器人创建成功!python3钉钉加签名钉钉群机器人告警脚本dd-aler... 查看详情

持续集成之jenkins钉钉通知(代码片段)

...看。三、钉钉的配置1、成为钉钉群主进入某个群->点击机器人图标。注意:如 查看详情

python:消息推送-钉钉机器人推送(关键字模式)

参考技术A实现推送的处理步骤:创建机器人:1、登录钉钉-拉取创建3人及其以上的群组-群设置-智能群助手,如图:2、添加机器人-自定义-添加-添加关键词,例如:调试-勾选同意-完成获取机器人webhook:复制webhook添加推送机器... 查看详情

c#使用webhook推送消息给钉钉机器人(代码片段)

 在项目中将某个操作后的数据Webhook发送给钉钉机器人。Webhook是一个API概念,是微服务API的使用范式之一,也被成为反向API,即前端不主动发送请求,完全由后端推送;举个常用例子,比如你的好友发了一条朋友圈,后端将... 查看详情

钉钉机器人怎么用钉钉机器人使用方法介绍

钉钉机器人可以用来同步敬业签这款桌面便签上设置的待办提醒,因为敬业签支持绑定钉钉提醒,能够通过钉钉智能机器人助手同步推送便签中设置的提醒事件,具体的使用方法如下所示:1、创建一个钉钉群,设置自定义机器... 查看详情

python3钉钉加签名钉钉群机器人告警脚本(代码片段)

...加灵活全网普遍用自定义关键词多,不予置评添加群机器人智能群助手添加机器人自定义机器人设置加签复制一下签名SEC,后边会用到复制webhook点击完成机器人创建成功!python3钉钉加签名钉钉群机器人告警脚本dd-aler... 查看详情

python3钉钉加签名钉钉群机器人巡检告警脚本(代码片段)

本文接上文python3钉钉加签名钉钉群机器人告警脚本https://blog.csdn.net/frdevolcqzyxynjds/article/details/128455191catdd-os-t1.py#!/usr/bin/envpython3#encoding=utf-8importjsonimportsysfromhdfsimport*importjsonimporthashlibimportbase64importhmacimporttimeimportrequestsfromurllib.... 查看详情