python飞书到期提醒

本地检测Excel文件中域名到期时间,发送飞书通知

#!/usr/bin/python3
#coding=utf-8
import json
import requests
import time
import datetime
import sys
import csv
#import importlib
import re
import collections as col
#导入的库
from openpyxl import load_workbook

#importlib.reload(sys)
#打开的文件

class DateEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, datetime.datetime):
            return obj.strftime('%Y-%m-%d %H:%M:%S')
        elif isinstance(obj, datetime.date):
            return obj.strftime("%Y-%m-%d")
        else:
            return json.JSONEncoder.default(self, obj)


def send_card():
            """发送普通消息"""
            aa = {"域名": a ,
                  "平台": p ,
                  "到期时间": d.strftime("%Y-%m-%d")} 
            #print(json.dumps(aa, cls=DateEncoder))
            #机器人地址,注意修改id
            url = 'https://open.feishu.cn/open-apis/bot/v2/hook/<id>'
            headers = {"Content-Type": "text/plain"}
            true = True
            data = {
                    "msg_type": "interactive",
                    "card": {
                        "config": 
                            {"wide_screen_mode": true,"enable_forward": true},
                              "elements": 
                              [{"tag": "div",
                                  "text": {"content": json.dumps(aa, cls=DateEncoder).encode('utf-8').decode('unicode_escape') ,"tag": "lark_md"} },
                              # {"tag": "div",
                              #     "text":{"content": "平台: p" ,"tag": "lark_md"} },
                              # {"tag": "div",
                              # "text":{"content": d ,"tag": "lark_md"} },
                              ],
                              "header": {"title": {"content": "域名即将到期提醒","tag": "plain_text"}}

                        }
                   }
            r = requests.post(url, headers=headers, json=data)
            return r.text


if __name__ == '__main__':



    aheaders = {'Content-Type': 'application/json'}
    day_str = datetime.datetime.strptime(datetime.datetime.now().strftime("%Y-%m-%d"), "%Y-%m-%d")
#print(day_str)

#n_time=datetime.datetime.now() # 获取当前时间
#n_time.strftime('%Y-%m-%d')

    fp = '/home/ftp/bao/domain1.xlsx'
    ws = load_workbook(fp)
#要读取的工作薄
 

    sheet = ws.get_sheet_by_name("Sheet1")
#按行读取
    for i in  sheet.rows:
        a = i[0].value if i[0].value != None else '' #如果单元格的值为空,则空串
        d = i[1].value if i[1].value != None else ''
        p = i[2].value if i[2].value != None else ''


        e = d - day_str
     
        if (d - day_str).days <= 30: 
#构造cypher语句,用于在cypher-shell下执行
     #print ('match (n :Source) where n.name =  ','"'+ a  + '" set n += ', '{  synonym: "'+b + '" , ref: "'+c+'"};')
         
    #     wm = wechat_monitor()
#         curl -X POST \
#                   "https://open.feishu.cn/open-apis/bot/v2/hook/f17c9e97-2d79-4f43-b6df-b0b70cdeb68d" \
#                   -H 'Content-Type: application/json' \
#                   -d '{
#                         "msg_type": "interactive",
#                         "card":{
#                            "config": 
#                                {"wide_screen_mode": true,"enable_forward": true},
#                                 "elements": 
#                                 [{"tag": "div","text": {"content": a ,"tag": "lark_md"}}],
#                                "header": {"title": {"content": e,"tag": "plain_text"}
#                                }
#                                
#                                }
#                        
#                       }'
                       
         #asendmessage()
         #true = True
         #infoxx()
             
             send_card()
             print (a,d,p)
        else:
             print (a,d,p)



#class wechat_monitor():
#     sendMessageUrl2 = "https://open.feishu.cn/open-apis/bot/v2/hook/f17c9e97-2d79-4f43-b6df-b0b70cdeb68d"
#def sendmessage(data):
#        res2 = requests.post(sendMessageUrl2,headers=aheaders, data = json.dumps(data) )

    # return res2
#if __name__ == '__main__':
#    wm = wechat_monitor()
#    true = True
#     data = {"host":sys.argv[1],"title": sys.argv[2],"content": sys.argv[3],"time": sys.argv[4]}
#def infoxx():
#     data = {
#            "msg_type": "interactive",
#            "card": 
#               {"config": 
#                  {"wide_screen_mode": true,"enable_forward": true},
#                 "elements": 
#                  [{"tag": "div","text": {"content": a ,"tag": "lark_md"}}],
#                 "header": {"title": {"content": e,"tag": "plain_text"}}
#                                                                                                                                                    }
#           }
       
#     res2 = wm.sendmessage(data)
上一篇:git系列之-git clone


下一篇:3.29