Evilmass commited on
Commit ·
20360a6
1
Parent(s): 72ddf3f
添加天使动漫签到签到词:街声每日歌曲;添加 apschduler 立即运行参数 next_run
Browse files- _playwright/tsdm.py +7 -7
- api.py +12 -14
- utils.py +10 -3
_playwright/tsdm.py
CHANGED
|
@@ -8,7 +8,7 @@ from playwright.async_api import async_playwright
|
|
| 8 |
|
| 9 |
sys.path.append(join(dirname(abspath(__file__)), "../"))
|
| 10 |
|
| 11 |
-
from utils import push_msg
|
| 12 |
from __init__ import (
|
| 13 |
browser_headless,
|
| 14 |
browser_proxy,
|
|
@@ -51,12 +51,12 @@ async def sign(page):
|
|
| 51 |
tsdm_logger.info(sign_res)
|
| 52 |
msg.append(sign_res)
|
| 53 |
else:
|
| 54 |
-
mind = random.choice(list(tsdm_minds.
|
| 55 |
-
tsdm_logger.info(f"签到心情选择:{mind}")
|
| 56 |
-
await page.
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
await page.
|
| 60 |
await page.get_by_text("点我签到!").click()
|
| 61 |
sign_res = "签到成功"
|
| 62 |
tsdm_logger.info(sign_res)
|
|
|
|
| 8 |
|
| 9 |
sys.path.append(join(dirname(abspath(__file__)), "../"))
|
| 10 |
|
| 11 |
+
from utils import push_msg, get_streevoice_today_song
|
| 12 |
from __init__ import (
|
| 13 |
browser_headless,
|
| 14 |
browser_proxy,
|
|
|
|
| 51 |
tsdm_logger.info(sign_res)
|
| 52 |
msg.append(sign_res)
|
| 53 |
else:
|
| 54 |
+
mind = random.choice(list(tsdm_minds.keys()))
|
| 55 |
+
tsdm_logger.info(f"签到心情选择:{tsdm_minds[mind]}")
|
| 56 |
+
await page.get_by_role("combobox").select_option(mind)
|
| 57 |
+
await page.get_by_label("自己填写").check() # 不想填写
|
| 58 |
+
song = await get_streevoice_today_song(page)
|
| 59 |
+
await page.locator("#todaysay").type(song, delay=200)
|
| 60 |
await page.get_by_text("点我签到!").click()
|
| 61 |
sign_res = "签到成功"
|
| 62 |
tsdm_logger.info(sign_res)
|
api.py
CHANGED
|
@@ -26,17 +26,17 @@ def tick():
|
|
| 26 |
def run_scheduler(loop):
|
| 27 |
asyncio.set_event_loop(loop)
|
| 28 |
# add task
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
#
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
try:
|
| 41 |
asyncio.get_event_loop().run_forever()
|
| 42 |
except (KeyboardInterrupt, SystemExit):
|
|
@@ -44,9 +44,7 @@ def run_scheduler(loop):
|
|
| 44 |
|
| 45 |
|
| 46 |
def start_daemon_scheduler(loop):
|
| 47 |
-
t = threading.Thread(
|
| 48 |
-
target=run_scheduler, args=(loop,), name="schedule", daemon=True
|
| 49 |
-
)
|
| 50 |
t.start()
|
| 51 |
|
| 52 |
|
|
|
|
| 26 |
def run_scheduler(loop):
|
| 27 |
asyncio.set_event_loop(loop)
|
| 28 |
# add task
|
| 29 |
+
scheduler = AsyncIOScheduler()
|
| 30 |
+
scheduler.configure(timezone=pytz.timezone("Asia/Shanghai"))
|
| 31 |
+
# scheduler.add_job(tick, "cron", second="*/59")
|
| 32 |
+
scheduler.add_job(bilibili_sign, "cron", hour=6, minute=1, next_run_time=datetime.now())
|
| 33 |
+
scheduler.add_job(v2ex_sign, "cron", hour=6, minute=2, next_run_time=datetime.now())
|
| 34 |
+
scheduler.add_job(tsdm_sign, "cron", hour="*/6", minute=3, next_run_time=datetime.now())
|
| 35 |
+
scheduler.add_job(wuaipojie_sign, "cron", hour=6, minute=4, next_run_time=datetime.now())
|
| 36 |
+
scheduler.add_job(vits_sign, "cron", hour="0, 12", minute=6, next_run_time=datetime.now())
|
| 37 |
+
scheduler.add_job(aliyundrive_sign, "cron", hour="*/6", minute=7, next_run_time=datetime.now())
|
| 38 |
+
scheduler.add_job(validate_access_token, "cron", hour="*/2", next_run_time=datetime.now())
|
| 39 |
+
scheduler.start()
|
| 40 |
try:
|
| 41 |
asyncio.get_event_loop().run_forever()
|
| 42 |
except (KeyboardInterrupt, SystemExit):
|
|
|
|
| 44 |
|
| 45 |
|
| 46 |
def start_daemon_scheduler(loop):
|
| 47 |
+
t = threading.Thread(target=run_scheduler, args=(loop,), name="schedule", daemon=True)
|
|
|
|
|
|
|
| 48 |
t.start()
|
| 49 |
|
| 50 |
|
utils.py
CHANGED
|
@@ -97,9 +97,7 @@ def get_pi_ip(host: str) -> str:
|
|
| 97 |
|
| 98 |
|
| 99 |
# gotify 推送
|
| 100 |
-
def push_msg(
|
| 101 |
-
title: str = "无标题", message: str = "无内容", img_url: str = gotify_img
|
| 102 |
-
) -> dict:
|
| 103 |
gotify_ip = get_pi_ip(gotify_host)
|
| 104 |
url = f"http://{gotify_ip}:{gotify_port}/message?token={gotify_token}"
|
| 105 |
data = {
|
|
@@ -162,6 +160,15 @@ async def read_logfile(log_file: str) -> str:
|
|
| 162 |
return data
|
| 163 |
|
| 164 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
async def main():
|
| 166 |
# await init_page()
|
| 167 |
# res = await get_bilibili_live_rooms_from_pi()
|
|
|
|
| 97 |
|
| 98 |
|
| 99 |
# gotify 推送
|
| 100 |
+
def push_msg(title: str = "无标题", message: str = "无内容", img_url: str = gotify_img) -> dict:
|
|
|
|
|
|
|
| 101 |
gotify_ip = get_pi_ip(gotify_host)
|
| 102 |
url = f"http://{gotify_ip}:{gotify_port}/message?token={gotify_token}"
|
| 103 |
data = {
|
|
|
|
| 160 |
return data
|
| 161 |
|
| 162 |
|
| 163 |
+
# 获取每日歌曲用于天使动漫签到
|
| 164 |
+
async def get_streevoice_today_song(page):
|
| 165 |
+
await page.goto("https://streetvoice.com/")
|
| 166 |
+
song = await page.locator("#player-collapse h4").get_by_role("link").text_content()
|
| 167 |
+
logger.info(f"街声今日歌曲:{song}")
|
| 168 |
+
await page.go_back()
|
| 169 |
+
return song
|
| 170 |
+
|
| 171 |
+
|
| 172 |
async def main():
|
| 173 |
# await init_page()
|
| 174 |
# res = await get_bilibili_live_rooms_from_pi()
|