mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-18 18:20:39 +08:00
123
src/Python/定时启动MAA_v2.0.0_by_Black_Cat_Bon.py
Normal file
123
src/Python/定时启动MAA_v2.0.0_by_Black_Cat_Bon.py
Normal file
@@ -0,0 +1,123 @@
|
||||
from operator import ne
|
||||
import threading
|
||||
import time
|
||||
import schedule
|
||||
|
||||
import datetime
|
||||
from threading import Timer
|
||||
import json
|
||||
import pathlib
|
||||
import sys
|
||||
import re
|
||||
|
||||
from interface import Asst, Message
|
||||
|
||||
def get_now_time():
|
||||
return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
def job():
|
||||
# print("I'm running on thread %s" % threading.current_thread())
|
||||
print("现在时间:" + datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
|
||||
|
||||
# asst.append_fight("LastBattle", 0, 0, 999)
|
||||
# asst.append_recruit(3, [4, 5], [3, 4, 5], True, False)
|
||||
# asst.append_infrast(1, ["Mfg", "Trade", "Control",
|
||||
# "Power", "Reception", "Office", "Dorm"], "Money", 0.1)
|
||||
# asst.append_visit()
|
||||
# asst.append_mall(True)
|
||||
asst.append_award()
|
||||
asst.set_penguin_id('18688523')
|
||||
|
||||
asst.start()
|
||||
|
||||
def run_threaded(job_func):
|
||||
job_thread = threading.Thread(target=job_func)
|
||||
job_thread.start()
|
||||
|
||||
|
||||
def get_target_time(input_time):
|
||||
matchObj = re.match('\d\d:\d\d', input_time)
|
||||
if matchObj:
|
||||
target_time = input_time
|
||||
else:
|
||||
while True:
|
||||
input_str = input('Invalid time format, please input again!\n For example, 20:00 \n> ')
|
||||
if (input_str == 'exit()'):
|
||||
sys.exit()
|
||||
|
||||
matchObj = re.match('\d\d:\d\d', input_str)
|
||||
|
||||
if matchObj:
|
||||
break
|
||||
else:
|
||||
print('Please input a valid time!')
|
||||
|
||||
target_time = input_str
|
||||
|
||||
return target_time
|
||||
|
||||
def get_target_port(input_port):
|
||||
matchObj = re.match('\d\d\d\d', input_port)
|
||||
if matchObj:
|
||||
target_time = input_port
|
||||
else:
|
||||
while True:
|
||||
input_str = input('Invalid port format, please input again!\n For example, 5565 \n> ')
|
||||
if (input_str == 'exit()'):
|
||||
sys.exit()
|
||||
|
||||
matchObj = re.match('\d\d\d\d', input_str)
|
||||
|
||||
if matchObj:
|
||||
break
|
||||
else:
|
||||
print('Please input a valid time!')
|
||||
|
||||
target_time = input_str
|
||||
|
||||
return target_time
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
global target_time
|
||||
global asst
|
||||
|
||||
if (len(sys.argv) == 1):
|
||||
target_time = '20:00'
|
||||
port = '5555'
|
||||
elif len(sys.argv) == 2:
|
||||
target_time = get_target_time(sys.argv[1])
|
||||
port = '5555'
|
||||
elif len(sys.argv) == 3:
|
||||
target_time = get_target_time(sys.argv[1])
|
||||
port = get_target_port(sys.argv[2])
|
||||
|
||||
# 声明asst
|
||||
@Asst.CallBackType
|
||||
def my_callback(msg, details, arg):
|
||||
m = Message(msg)
|
||||
d = json.loads(details.decode('utf-8'))
|
||||
|
||||
print(m, d, arg)
|
||||
|
||||
|
||||
dirname: str = (pathlib.Path.cwd()).__str__()
|
||||
asst = Asst(dirname=dirname, callback=my_callback)
|
||||
|
||||
print('version', asst.get_version())
|
||||
|
||||
if asst.catch_custom('127.0.0.1:' + port):
|
||||
print('连接成功')
|
||||
else:
|
||||
print('连接失败')
|
||||
exit()
|
||||
|
||||
schedule.every().day.at(target_time).do(run_threaded, job)
|
||||
# schedule.every(30).seconds.do(run_threaded, job)
|
||||
print("定时任务已设置,将于每天 " + target_time + " 运行")
|
||||
|
||||
# print('下次定时任务开始于:' + target_time)
|
||||
|
||||
while 1:
|
||||
schedule.run_pending()
|
||||
time.sleep(1)
|
||||
Reference in New Issue
Block a user