钉钉机器人发送定时任务

  之前在简书上发了这样一篇文章,记一次小白摸索使用钉钉自定义机器人设置定时任务,本来只是想记录下自己的心情,然后真的有同学也想要做,限于自己没有文笔,说的很乱,导致看了文章也没整明白到底该咋弄,我就在这里写一下具体的操作步骤和注意事项。
如果学过一点Python,这个可能会更简单一些,也能更多样化一些。用 Python 实现钉钉机器人定时消息推送
  这篇文章使用到的工具都是windows自带的,因此不用额外再安装什么东西

第一步:添加自定义钉钉机器人

在钉钉群聊窗口右上角点击齿轮进入设置
–> 智能群助手
–> 添加机器人
–>添加机器人
–> 最后一个自定义
–>添加
–> 设置机器人的头像、名称、群组
–> 安全设置选择自定义关键词 (其它的请先不要勾选)
–> 填写每次发送消息必须带的词汇,我这里就写"打字"
–> 完成

完成得到一个Webhook地址,每个机器人的的Webhook地址后面XXX的内容都不一样
https://oapi.dingtalk.com/robot/send?access_token=XXXX
如果忘记了Webhook内容也可以重新进入设置界面复制

注意:请保管好此Webhook 地址,不要公布在外部网站上,泄露后有安全风险。

如果你想试试其它的安全设置,那么请参考自定义机器人安全设置

第二步,测试自定义机器人

我这里实用的操作系统是window,cmd窗口

curl "https://oapi.dingtalk.com/robot/send?access_token=XXXXX" 
-H "Content-Type:application/json"
-d "{\"at\":{\"atMobiles\":[\"\"],\"atUserIds\":[\"\"],\"isAtAll\":true},\"text\":{\"content\":\"打字测试\"},\"msgtype\":\"text\"}"

这里有有几点需要注意:

  • 代码为了阅读方便我分成三行放了,但是复制到cmd窗口运行时需要放在一行
  • 第一行的access_token=XXXX需要换成自己机器人的Webhook地址后面的access_token
  • “打字测试” 这四个字需要进行转换成Unicode格式再放进去,这里写中文只是为了方便大家看到在哪里写消息内容,注意要包括第一步里自定义的关键词,“中文转Unicode”百度一下就有在线转换工具
  • isAtAll后面有个true,它是表示@全体成员的,如果不需要,把true改成false就行
  • -d后面除了第一个和最后一个"不需要加\进行转义,其它在-d后面的的"前都需要加上\

完成了上面这几点注意事项后,把改过的代码在CMD窗口运行一下,看看钉钉上能不能收到消息
钉钉机器人发送定时任务_第1张图片
钉钉机器人发送定时任务_第2张图片
这一步如果没问题,就可以先把代码复制下来了,这里选中代码后直接按crtl+c
如果这一步出问题了,请直接往下翻到常见问题。

第三步,设置定时发送

首先我们随便找个地方新建一个文本文档,把代码粘贴到里面
钉钉机器人发送定时任务_第3张图片

之后,文件 --> 另存为
钉钉机器人发送定时任务_第4张图片
保存到一个自己能找到的地方。

保存后打开这个刚保存的文件,如果成功发送,则继续进行下去,如果出问题,请返回第二步,或者检查代码粘贴进去是不是不小心删除了什么东西,还不行的话,直接翻到最后的常见问题。

设置定时任务,这时需要打开windows自带的任务计划程序,可以先按一下windows徽标键,不用找输入框,直接打字“任务计划程序”,然后点击回车进入,也可以按windows+r,输入taskschd.msc,点击回车进入
钉钉机器人发送定时任务_第5张图片
钉钉机器人发送定时任务_第6张图片
钉钉机器人发送定时任务_第7张图片
钉钉机器人发送定时任务_第8张图片
钉钉机器人发送定时任务_第9张图片

最后点击完成即可。
每次到你规定的时间,它会自动运行这个bat文件,让机器人发送消息。
运行时,如果网络状态良好,会弹出一瞬间的黑窗口,然后自动关闭。
如果网络状态不好,则这个黑窗口会长时间停留。

如果到这一步都成功了,还想尝试其他格式的机器人消息,那么请参考消息类型与数据格式

常见问题

  1. 为什么我第二步通过cmd执行代码时,明明已经按了回车,却长时间没反应?什么都没发生!

      这个是因为网络状况不好,检查下网络。

  2. 返回了错误信息,{"errcode":40035,"errmsg":"缺少参数 json"}

      代码中-d部分出问题了,比对下文章代码中-d之后的部分符号是不是少了

  3. 返回了错误信息,{"errcode":310000,"errmsg":"keywords not in content"}
      这是因为发送的消息中不包括一开始设置的关键字。

  4. 返回了其他错误信息
    钉钉机器人发送定时任务_第10张图片

  5. 我想删除定时任务怎么办?
    找不到往下翻翻钉钉机器人发送定时任务_第11张图片

你可能感兴趣的:(windows,定时任务)