test
This commit is contained in:
78
lib/system/logic_telegram_bot.py
Normal file
78
lib/system/logic_telegram_bot.py
Normal file
@@ -0,0 +1,78 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#########################################################
|
||||
# python
|
||||
import os
|
||||
import traceback
|
||||
import logging
|
||||
import platform
|
||||
import time
|
||||
|
||||
# third-party
|
||||
from flask import Blueprint, request, Response, send_file, render_template, redirect, jsonify
|
||||
|
||||
|
||||
|
||||
from framework import F, frame, app, path_app_root, path_data, scheduler
|
||||
from tool_base import ToolBaseNotify
|
||||
# 패키지
|
||||
from .plugin import logger, package_name
|
||||
from .model import ModelSetting
|
||||
|
||||
|
||||
class SystemLogicTelegramBot(object):
|
||||
@staticmethod
|
||||
def process_ajax(sub, req):
|
||||
try:
|
||||
if sub == 'telegram_test':
|
||||
ret = ToolBaseNotify.send_telegram_message(req.form['text'], bot_token=req.form['bot_token'], chat_id=req.form['chat_id'])
|
||||
return jsonify(ret)
|
||||
elif sub == 'discord_test':
|
||||
ret = ToolBaseNotify.send_discord_message(req.form['text'], webhook_url=req.form['url'])
|
||||
return jsonify(ret)
|
||||
elif sub == 'advanced_test':
|
||||
ret = ToolBaseNotify.send_advanced_message(req.form['text'], policy=req.form['policy'], message_id=req.form['message_id'])
|
||||
return jsonify(ret)
|
||||
elif sub == 'scheduler':
|
||||
go = request.form['scheduler']
|
||||
logger.debug('scheduler :%s', go)
|
||||
if go == 'true':
|
||||
SystemLogicTelegramBot.scheduler_start()
|
||||
else:
|
||||
SystemLogicTelegramBot.scheduler_stop()
|
||||
return jsonify(go)
|
||||
except Exception as exception:
|
||||
logger.error('Exception:%s', exception)
|
||||
logger.error(traceback.format_exc())
|
||||
return jsonify('exception')
|
||||
|
||||
@staticmethod
|
||||
def plugin_load():
|
||||
try:
|
||||
if frame.config['run_celery']:
|
||||
return
|
||||
|
||||
if ModelSetting.get_bool('telegram_bot_auto_start'):
|
||||
SystemLogicTelegramBot.scheduler_start()
|
||||
except Exception as exception:
|
||||
logger.error('Exception:%s', exception)
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
@staticmethod
|
||||
def scheduler_start():
|
||||
try:
|
||||
interval = 60*24
|
||||
job = Job(package_name, '%s_telegram_bot' % (package_name), 9999, SystemLogicTelegramBot.scheduler_function, u"시스템 - 텔레그램 봇", False)
|
||||
scheduler.add_job_instance(job)
|
||||
except Exception as exception:
|
||||
logger.error('Exception:%s', exception)
|
||||
logger.error(traceback.format_exc())
|
||||
|
||||
@staticmethod
|
||||
def scheduler_function():
|
||||
try:
|
||||
bot_token = ModelSetting.get('telegram_bot_token')
|
||||
from framework.common.telegram_bot import TelegramBot
|
||||
TelegramBot.start(bot_token)
|
||||
except Exception as exception:
|
||||
logger.error('Exception:%s', exception)
|
||||
logger.error(traceback.format_exc())
|
||||
Reference in New Issue
Block a user