-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
50 lines (39 loc) · 1.41 KB
/
main.py
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
40
41
42
43
44
45
46
47
48
49
50
# -*- coding: utf-8 -*-
import logging, time, sys
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO,
filename='./log/access_{0}.log'.format(str(time.time())[:6]),
filemode='a')
# -*- coding: utf-8 -*-
from telegram.ext import Updater
from handlers import error
from handlers import *
import handlers
from telegram.ext import MessageHandler, Filters
from util.common import log_stream_handler
# 将定义好的console日志handler添加到root logger
logging.getLogger(__name__).addHandler(log_stream_handler())
logger = logging.getLogger(__name__)
def autoLoadingHandles(dispatcher):
if handlers == None or handlers.__all__ == None or len(handlers.__all__) == 0:
logger.info('handles is null')
else:
for handle in handlers.__all__:
logger.info('loading handle:' + handle)
dispatcher.add_handler(eval(handle + '.handler'))
dispatcher.add_error_handler(error.handle)
def dispatcher_start(updater):
dispatcher = updater.dispatcher
autoLoadingHandles(dispatcher)
updater.start_polling(poll_interval=1.0, timeout=20)
def main():
from util.core_config import robot_token
updater = Updater(token=robot_token)
try:
dispatcher_start(updater)
except:
logging.info("Unexpected error:", sys.exc_info()[0])
dispatcher_start(updater)
if __name__ == '__main__':
main()