企业微信做运维通知教程

每次使用邮件(不方便) 或者 短信(没钱)。
穷人用法。毕竟能少就剩了不少钱。省的就是赚的。

代码只需稍微改下参数。跟逻辑代码就可以搬走。能不能搬走就你自己本事咯。

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author : chencxiaoyu
# Email  : chenxiaoyumail@mail.com
# Date   : 2017/6/12
# Readme :

import time
import requests
import json


# 企业微信应用信息
corpid = 'xxx',
corpsecret = 'yyy'
agentid = 1000002
# 报警通知联系人账号
NOTICE_USER_LIST = "ChenXiaoYu"

class weixinClass(object):
    def __init__(self):
        self.token = self.get_token()

    def get_token(self):
        token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
        values = {'corpid': corpid, 'corpsecret': corpsecret}
        req = requests.get(token_url, values)
        if req.status_code == 200:
            data = json.loads(req.text)
            if data.get('errcode') == 0:
                print 'get token OK'
                return data["access_token"]

            else:
                print data
        else:
            print req.text
        return ''

    def send_msg(self, msg, to_user=NOTICE_USER_LIST):
        send_msg_url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + self.token
        now_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
        print self.token
        if isinstance(msg, str):
            msg = msg + '<br>发送时间:' + now_time
        elif isinstance(msg, unicode):
            msg = msg + u'<br>发送时间:' + now_time

        data = {
            "touser": to_user,
            "msgtype":  "text",
            "agentid":  agentid,
            "text": {
                    "content": msg
                }
            }
        req = requests.post(send_msg_url, data=json.dumps(data))
        if req.status_code == 200:
            data = json.loads(req.text)
            errcode = data.get('errcode')
            # token过期或者过期,重新获取token并重新发送本条信息
            if errcode in [41001, 42001]:
                print 'Send message False, to resend!'
                self.token = self.get_token()
                self.send_msg(msg)
            if errcode == 0:
                print 'Send message OK'
        else:
            print "http_code: %s, error: %s" % (req.status_code, req.text)

if __name__ == '__main__':
    a = weixinClass()
    a.send_msg(u'111测试微信报警功能')

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,870评论 0 17
  • 比特币为代表的数字资产全球市值仅为3000亿美金左右,而黄金市值7万亿美元,股票市值是55万亿美元,债务证券市值为...
    方向盘4519阅读 1,418评论 0 0
  • 那个人的手 像一块嫩生生的豆腐 而那样的手却握着匕首
    大胡子猪阅读 1,306评论 0 2
  • 今天状态不太好,不知道咋的老是犯困 o(´^`)o今天下午开了个会,还分享了每个人的优点,没想到自己还有这么些优...
    F啊阅读 1,751评论 1 0
  • 其实最近一直想建立一个模型,关于工作年限等因素和成功的关系模型。这个模型还在建立中。 结合最近自身的经历,想到了另...
    不知道名字为什么违规阅读 3,446评论 0 0

友情链接更多精彩内容