diff --git a/.gitignore b/.gitignore index b929f0f..c8ca6bf 100644 Binary files a/.gitignore and b/.gitignore differ diff --git a/agentmain.py b/agentmain.py index 9e961d0..47e8e07 100644 --- a/agentmain.py +++ b/agentmain.py @@ -145,7 +145,9 @@ if __name__ == '__main__': while 'done' not in (item := dq.get()): pass open('./temp/scheduler.log', 'a', encoding='utf-8').write(f'[{datetime.now():%m-%d %H:%M}] {tag}\n{item["done"]}\n\n') while True: + time.sleep(55 + random.random() * 10) now = datetime.now() + if not os.path.isdir('./sche_tasks/pending'): continue for f in os.listdir('./sche_tasks/pending'): m = re.match(r'(\d{4}-\d{2}-\d{2})_(\d{4})_', f) if m and now >= datetime.strptime(f'{m[1]} {m[2]}', '%Y-%m-%d %H%M'): @@ -153,7 +155,6 @@ if __name__ == '__main__': dq = agent.put_task(f'按scheduled_task_sop执行任务文件 ../sche_tasks/pending/{f}(立刻移到running)\n内容:\n{raw}', source='scheduler') threading.Thread(target=drain, args=(dq, f), daemon=True).start() break - time.sleep(55 + random.random() * 10) else: agent.inc_out = True while True: diff --git a/tgapp.py b/tgapp.py index 51483af..803ea39 100644 --- a/tgapp.py +++ b/tgapp.py @@ -1,9 +1,13 @@ import os, sys, re, threading, asyncio, queue as Q, socket, time sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from agentmain import GeneraticAgent -from telegram import Update -from telegram.ext import ApplicationBuilder, MessageHandler, CommandHandler, filters, ContextTypes -from telegram.request import HTTPXRequest +try: + from telegram import Update + from telegram.ext import ApplicationBuilder, MessageHandler, CommandHandler, filters, ContextTypes + from telegram.request import HTTPXRequest +except: + print("Please ask the agent install python-telegram-bot to use telegram module.") + sys.exit(1) import mykey agent = GeneraticAgent() @@ -89,8 +93,12 @@ if __name__ == '__main__': # Single instance lock using socket try: _lock_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM); _lock_sock.bind(('127.0.0.1', 19527)) - except OSError: sys.exit('Another instance is already running.') - if not ALLOWED: sys.exit('ERROR: tg_allowed_users in mykey.py is empty or missing. Set it to avoid unauthorized access.') + except OSError: + print('[Telegram] Another instance is already running, skiping...') + sys.exit(1) + if not ALLOWED: + print('[Telegram] ERROR: tg_allowed_users in mykey.py is empty or missing. Set it to avoid unauthorized access.') + sys.exit(1) _logf = open(os.path.join(os.path.dirname(__file__), 'temp', 'tgapp.log'), 'a', encoding='utf-8', buffering=1) sys.stdout = sys.stderr = _logf print('[NEW] New process starting, the above are history infos ...')