Evilmass commited on
Commit
20360a6
·
1 Parent(s): 72ddf3f

添加天使动漫签到签到词:街声每日歌曲;添加 apschduler 立即运行参数 next_run

Browse files
Files changed (3) hide show
  1. _playwright/tsdm.py +7 -7
  2. api.py +12 -14
  3. 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.values()))
55
- tsdm_logger.info(f"签到心情选择:{mind}")
56
- await page.locator(
57
- "#ct > div > div.bm.mtn > div.bm_c > form > select"
58
- ).select_option(label=mind)
59
- await page.get_by_label("不想填写").check()
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
- sign_scheduler = AsyncIOScheduler()
30
- sign_scheduler.configure(timezone=pytz.timezone("Asia/Shanghai"))
31
- # sign_scheduler.add_job(tick, "cron", second="*/59")
32
- sign_scheduler.add_job(bilibili_sign, "cron", hour=6, minute=1)
33
- sign_scheduler.add_job(v2ex_sign, "cron", hour=6, minute=2)
34
- sign_scheduler.add_job(tsdm_sign, "cron", hour="*/6", minute=3)
35
- sign_scheduler.add_job(wuaipojie_sign, "cron", hour=6, minute=4)
36
- sign_scheduler.add_job(vits_sign, "cron", hour="0, 12", minute=6)
37
- sign_scheduler.add_job(aliyundrive_sign, "cron", hour="*/6", minute=7)
38
- sign_scheduler.add_job(validate_access_token, "cron", hour="*/2")
39
- sign_scheduler.start()
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()