Python 钉钉机器人

2017-10-23  本文已影响0人  是阿离

问题

找一个能够能够将本地主机监控日志发送到移动端的工具。微信不允许调用web接口,找到了钉钉。

简单使用

主要测试了读取本机文件通过钉钉机器人向钉钉群组发送信息
1、下载桌面版钉钉,在桌面版钉钉中新建一个测试群组,添加一个自定义机器人。
2、在本地新建一个dingTalkSend.py文件,主要包含获取告警文件并进行告警信息格式化,通过钉钉机器人将告警信息发送给移动端与PC端
3、将dingTalkSend.py放置在后台,每隔15分钟读取告警文件并调用钉钉机器人
发送告警信息的主要代码为:

class dingRobot():

    def __init__(self):
        self.url = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx"

    def request(self, url, method, data=None, head={}):
        request = urllib2.Request(url=url, headers=head)
        request.get_method = lambda: method
        httpRes = urllib2.urlopen(request, data)
        content = httpRes.read()
        httpRes.close()
        return content

    def postStart(self, infoContent):
        data = {}
        data['msgtype'] = 'markdown'
        data['markdown'] = {}
        data['markdown']['title'] = '监控信息'
        data['markdown']['text'] = infoContent
        data = json.dumps(data)
        head = {"Content-Type": "application/json"}
        content = self.request(self.url, "POST", data, head)
        return content

    def dingStart(self, warnInfoDict):
        print itype
        for infoItem in warnMessageDict['pending']:
            self.postStart(infoItem)
        for infoItem in warnMessageDict['ok']:
            self.postStart(infoItem)

调用方法为:

    ddRobot = dingRobot()
    ddRobot.dingStart(warnMessageDict)

测试结果:

钉钉机器人

参考文章

钉钉API 自定义机器人
运用钉钉机器人功能发送自动化结果报告

上一篇 下一篇

猜你喜欢

热点阅读