zoukankan      html  css  js  c++  java
  • zabbix微信发送消息脚本

    cat /usr/local/zabbix/share/zabbix/alertscripts/sed_messages_weixin.py  python2.x
    
    #!/usr/bin/env python
    # _*_ coding: utf-8 _*_
    # author:chenjianwen
    # email:1071179133@qq.com
    
    import sys
    import urllib2
    import json
    import requests
    
    toparty = sys.argv[1] #发给哪个部门
    title = sys.argv[2]       #标题
    message = sys.argv[3] #内容
    
    corpid = 'ww7xxxx' #企业微信号id
    #corpsecret = 'Hjekn1xxxV9xA'    ##应用Secret
    
    if toparty == "4":     #根据部门id确定对应项目的报警消息发送到对应部门
        corpsecret = 'xxxxxxxxxxxxxxxxxxxxxxx'
        agentid = 1000004
    elif toparty == "13":
        corpsecret = 'xxxxxxxxxxxxxxxxxxxxxxx'
        agentid = 1000013
    
    get_access_token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s'%(corpid,corpsecret)
    
    def get_access_token(get_access_token_url):
        data = urllib2.urlopen(get_access_token_url).read().decode('utf-8')
        data = json.loads(data)
        #print data["access_token"]
        return data["access_token"]
    
    def send_messages(access_token,toparty,agentid,content):
        send_messages_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s'%access_token
        data = {
               "touser" : "",   #成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向该企业应用的全部成员发送
               "toparty" : toparty, ##部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
               "totag" : "",    #标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
               "msgtype" : "text",  #消息类型,此时固定为:text
               "agentid" : agentid,   #企业应用的id,整型。可在应用的设置页面查看
               "text" : {
                   "content" : content  #消息内容,最长不超过2048个字节
               },
               "safe":0     #表示是否是保密消息,0表示否,1表示是,默认0
            }
        value = json.dumps(data)    ##转换为str格式
    
        request = requests.post(send_messages_url, data=value)  ##post请求发送数据
        request_result = request.status_code    ##获取请求码
        if request_result == 200:
            print "【%s】消息发送成功"%content
        else:
            print "【%s】消息发送失败"%content
    
    if __name__ == '__main__':
        access_token = get_access_token(get_access_token_url)
        send_messages(access_token,toparty,agentid,message)
  • 相关阅读:
    MFC tab页面中获到其它页面的数据
    sqlite数据库中"Select * From XXX能查到数据,但是Select DISTINCT group From xxx Order By group却查不出来
    关闭程序出现崩溃(exe 已触发了一个断点及未加载ucrtbased.pdb)
    springboot 通用Mapper使用
    springBoot 发布war包
    springCloud Zuul网关
    springboot hystrix turbine 聚合监控
    springBoot Feign Hystrix Dashboard
    springBoot Ribbon Hystrix Dashboard
    springBoot Feign Hystrix
  • 原文地址:https://www.cnblogs.com/chenjw-note/p/10936411.html
Copyright © 2011-2022 走看看