2

由于公司用的通讯工具是钉钉,而群机器人可以实现自动化的信息同步,因此这里总结了自己使用钉钉自定义机器人一些方法,供参考抛砖引玉。

首先是添加群自定义机器人

在钉钉上选择需要发送消息的群,选择群机器人-添加机器人-自定义机器人-添加,如下图:

clipboard.png

如需要,可以为机器人设置头像。点击“复制”按钮,即可获得这个机器人对应的Webhook地址,其格式如下
https://oapi.dingtalk.com/rob...

用python编写脚本

#!/usr/bin/python2.7
# -*- coding:utf-8 -*-


import sys
import json
import requests

reload(sys)
sys.setdefaultencoding('utf8')


def sendmessage():
    url = 'https://oapi.dingtalk.com/robot/send?access_token=xxx' #这里填写你自定义机器人的webhook地址
    HEADERS = {
        "Content-Type": "application/json ;charset=utf-8 "
    }
    message = "周五晚上踢球,大家记得带装备呀~"
    String_textMsg = { \
        "msgtype": "text",
        "text": {"content": message},
        "at": {
            "atMobiles": [
                "130xxxxxxxx"                                    #如果需要@某人,这里写他的手机号
            ],
            "isAtAll": 1                                         #如果需要@所有人,这些写1
        }
    }
    String_textMsg = json.dumps(String_textMsg)
    res = requests.post(url, data=String_textMsg, headers=HEADERS)
    print(res.text)

if __name__ == '__main__':
    sendmessage()

具体需要推送的内容可以根据自己需求来写,推送的简单形式如上,更多推送形式可以看这里:https://open-doc.dingtalk.com...

用crontab调度

因为之前用Windows的计划任务进行调度,总是莫名其妙的停了,而且老是报字符的错误,所以把脚本同步到ubuntu的虚拟机上,使用crontab调度。

crontab -e                                                       #在服务器终端里输入,会进入vim的crontab调度编写页面

在编辑器里输入你要调度的时间,比如

0 7-8 * * 5 python /mnt/d/tools/reminder/reminder-football.py  #意思是每周五早上7点和8点整点执行上面的那个脚本

然后保存退出即可,这样子你的钉钉机器人就会按时将信息发送到群里了,效果如下:

clipboard.png

钉钉的机器人功能还是很不错的,希望大家能发掘出更多的应用场景。


刘月生
8 声望1 粉丝

不有祝鮀之佞,而有宋朝之美,难乎免于今之世矣。