File size: 1,191 Bytes
3a5cf48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#coding: utf-8
import sys,os,time
os.chdir('/www/server/panel/')
sys.path.insert(0,"class/")
import public
import http_requests
http_requests.DEFAULT_TYPE = 'src'
os.environ['BT_TASK'] = '1'
try:
    import panelMessage
    import re
    msgObj = panelMessage.panelMessage()
    data = msgObj.get_messages()
    for x in data:
        if x['level'] in ['danger', 'error'] and not x['send'] and x['retry_num'] < 5:
            msg = '服务器IP【{}】: {}'.format(
                public.GetLocalIp(), re.sub(',?<a\s*.+</a>', '', x['msg']))
            is_send = False

            ret = public.return_is_send_info()
            for key in ret:
                if ret[key]:
                    ret = public.send_body_words(key, '宝塔消息提醒', msg)
                    if ret:
                        is_send = True
            pdata = {}
            if is_send:
                pdata['send'] = 1
                pdata['retry_num'] = 0
            else:
                pdata['send'] = 0
                pdata['retry_num'] = x['retry_num'] + 1

            msgObj.set_send_status(x['id'], pdata)
            time.sleep(5)
except:pass

import PluginLoader
PluginLoader.daemon_panel()