自己的开发环境配置:
硬件:win10 i7-1170k 32g内存 3060显卡
软件:node.js v17.1.0
使用前请确保已安装和配置如下环境
- 有一个钉钉机器人,且设置了关键字
- Node.js,自己使用的版本为v17.1.0
- 下载并安装钉钉机器人Nodejs版SDK,下载路径为:
3.若提示缺少request模块,请使用cmd命令,切换到.js文件的根目录下,并使用如下命令:
npm i request
创建一个javaScript文件,源码如下:
var request = require('request');//加载此模块失败请使用在本目录下使用nmp i request控制台命令
var crypto = require('crypto');
var sendData = "*****";//你自己定义的关键字
var secret = ""//签名,如果有的话
var url = "https://oapi.dingtalk.com/robot/send?access_token=*******"//钉钉机器人的链接,当你创建是便会看到
var data = {
"msgtype": "text",
"text": {
"content": sendData//聊天内容,若群机器人设置了自定义关键字,则必须加上关键字
},
"at": {
"atMobiles": [//要@的人的电话号码,可以有多个
"187xxxxxxx"//可以为空
],
"isAtAll": false//是否@全体成员
}
}
var time = Date.now();//当前时间
var stringToSign = time + "\n" + secret;
var base = crypto.createHmac('sha256', secret).update(stringToSign).digest('base64');
var sign = encodeURIComponent(base)//签名
url = url+`×tamp=${time}&sign=${sign}`;
console.log(url)
request.post(//发送post
url,
{
json: data,
encoding:"utf-8",
headers:{
'Content-Type': 'application/json'
}
},
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)//成功返回
}
}
);
测试方法:
使用cmd命令切换到js文件的目录后,使用如下命令运行该程序
node xx.js