公司的点晚饭时间是11点半到下午3点。忙起来真的很容易忘记,今天话不多说,直接开搞一个机器人提醒我们点饭 ::(笑眼) 。本教程基于centos7版本

“前提要有一个服务器 和一个钉钉群”

  1. 要对接钉钉机器人,首先你要有钉钉的群。假设你已经有了钉钉群
  2. 选择群设置-只能群助手

java 钉钉 机器人 接收消息_bash

  1. 选择添加机器人,通过webhook自定义方式

java 钉钉 机器人 接收消息_bash_02

  1. 输入机器人名字,输入关键词,我一般写备忘,然后点击确定

java 钉钉 机器人 接收消息_推送_03

  1. 复制好webhook地址(简单理解:webhook地址就是我们和机器人通信的凭证,所以要保存好了,且不要泄露奥)。然后点击完成,机器人就进群了。~

java 钉钉 机器人 接收消息_bash_04

  1. 我们学习一下钉钉机器人的推送使用文档。地址是:https://open.dingtalk.com/document/robots/custom-robot-access 。我们这里选择这个text的类型的,有兴趣的也可以看看别的类型的消息推送

java 钉钉 机器人 接收消息_python_05

  1. 连接服务器,准备好推送脚本和定时任务.推送脚本我是这么写的。可以参考我的,也可以自己写
#!/bin/sh
. /etc/profile
. ~/.bash_profile
curl 'https://oapi.dingtalk.com/robot/send?access_token=da69d946905ba69e57d548257461223f2d4b7d9dc1fd0393939e656c' \
 -H 'Content-Type: application/json' \
 -d '{
    "at": {
        "atMobiles":[
          "phone1"
        ],
        "atUserIds":[

        ],
        "isAtAll": true
    },
    "text": {
        "content":"[备忘]到点了,快,点饭点饭,点饭点饭"
     },
    "msgtype":"text"
}'

注意事项:

{message type=“info” content=“如果你想@所有人,就isAtAll 输入true。如果不想at所有人,就把在这个群里的人的手机号填写到atMoblie里。还有就是你要推送的内容一定要有机器人设置里的关键词。比如我这里是 备忘”/}
至此推送内容的脚本已经完成了。我的最终脚本代码如下,前两行是加载环境的,稳妥起见可以加,也可以不加。

#!/bin/sh
. /etc/profile
. ~/.bash_profile
curl 'https://oapi.dingtalk.com/robot/send?access_token=67cbf6b18dbf6f22e6d4765a34XXXXXXXX39788aa18a93aa2ca01e4239' \
 -H 'Content-Type: application/json' \
 -d '{
    "at": {
        "atMobiles":[

        ],
        "atUserIds":[

        ],
        "isAtAll": true
    },
    "text": {
        "content":"[备忘]到点了,快,点饭点饭,点饭点饭"
     },
    "msgtype":"text"
}'
  1. 然后我们执行脚本测试一下是否能推送过去 。输入bash jiaoben.sh 很棒已经成功了

java 钉钉 机器人 接收消息_定时任务_06

  1. 接下来我们要设置定时任务,让系统自动推送
  2. 我想让我的脚本在11-13点之间,每隔半小时一次,提醒我点餐。接下来输入crontab -e 。我们进行新增一个定时任务内容如下。完事后 :wq 保存并退出

java 钉钉 机器人 接收消息_定时任务_07

0,30 11-13 * * * bash  /hustudy/remindhuandwang.sh
  1. 新建定时任务之后,我们重启定时任务服务。就OK了
  2. 重启命令:systemctl restart crond.service