zoukankan      html  css  js  c++  java
  • python调用钉钉机器人发送消息

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # Author: 刘小懒
    # example:python dingding.py 参数1 参数2 参数3
    import requests
    import json
    import sys
    import os
    import time
    
    
    headers = {'Content-Type': 'application/json'}
    time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    
    log_dir = '/usr/local/zabbix/logs/'
    log_file = 'dingding.log'
    api_url = '钉钉的Webhook地址'
    
    
    def log(info):
        # 注意权限,否则写不进去日志
        file_path = log_dir + log_file
        if os.path.isdir(log_dir) == False:
            os.makedirs(log_dir)
        elif os.path.isfile(file_path) == False:
            f = open(file_path,'a+')
            f.write(info)
            f.close()
        else:
            f = open(file_path, 'ab+')
            f.write(info)
            f.close()
    
    
    def msg(text, user):
        json_text= {"msgtype": "text","text": {"content": text},"at": {"atMobiles": [user],"isAtAll": False}}
        r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json()
        code = r["errcode"]
        if code == 0:
            log(time + ":消息发送成功 返回码:" + str(code) + "
    ")
        else:
            log(time + ":消息发送失败 返回码:" + str(code) + "
    ")
            exit(3)
    
    
    if __name__ == '__main__':
        text = sys.argv[3]
        user = sys.argv[1]
        msg(text,user)
    

    这个代码有很多地方可以优化,请自行优化

    原文链接: https://www.cnblogs.com/sonyy/p/13157177.html

    python运维交流群: 305357273

    微醺生活,醉美人生
  • 相关阅读:
    基本数据类型相互转换及操作方法
    python以及计算机原理基础简要摘录
    Linux程序包管理
    rpm命令详解
    Linux程序包管理
    Linux任务计划
    压缩,解压缩工具及bash脚本编程
    btrfs文件系统管理与应用
    LVM应用
    CSS核心技术
  • 原文地址:https://www.cnblogs.com/sonyy/p/13157177.html
Copyright © 2011-2022 走看看