From 3bd66c5f36d17eba46c9c49af85929c6f06a40b8 Mon Sep 17 00:00:00 2001 From: felinae98 <731499577@qq.com> Date: Mon, 1 Nov 2021 13:26:52 +0800 Subject: [PATCH] update arknights --- .../nonebot_hk_reporter/platform/arknights.py | 8 ++++++-- src/plugins/nonebot_hk_reporter/utils.py | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/plugins/nonebot_hk_reporter/platform/arknights.py b/src/plugins/nonebot_hk_reporter/platform/arknights.py index 61e2cd4..9840b3f 100644 --- a/src/plugins/nonebot_hk_reporter/platform/arknights.py +++ b/src/plugins/nonebot_hk_reporter/platform/arknights.py @@ -82,9 +82,13 @@ class AkVersion(NoTargetMixin, StatusChange): def compare_status(self, _, old_status, new_status): res = [] if old_status.get('preAnnounceType') == 2 and new_status.get('preAnnounceType') == 0: - res.append(Post('arknights', text='开始维护!', target_name='明日方舟更新信息')) + res.append(Post('arknights', + text='登录界面维护公告上线(大概是开始维护了)', + target_name='明日方舟更新信息')) elif old_status.get('preAnnounceType') == 0 and new_status.get('preAnnounceType') == 2: - res.append(Post('arknights', text='维护结束!冲!(可能不太准确)', target_name='明日方舟更新信息')) + res.append(Post('arknights', + text='登录界面维护公告下线(大概是开服了,冲!)', + target_name='明日方舟更新信息')) if old_status.get('clientVersion') != new_status.get('clientVersion'): res.append(Post('arknights', text='游戏本体更新(大更新)', target_name='明日方舟更新信息')) if old_status.get('resVersion') != new_status.get('resVersion'): diff --git a/src/plugins/nonebot_hk_reporter/utils.py b/src/plugins/nonebot_hk_reporter/utils.py index 641a17d..adb7a40 100644 --- a/src/plugins/nonebot_hk_reporter/utils.py +++ b/src/plugins/nonebot_hk_reporter/utils.py @@ -3,6 +3,7 @@ import base64 from html import escape import os from time import asctime +import re from typing import Awaitable, Callable, Optional from nonebot.adapters.cqhttp.message import MessageSegment @@ -12,6 +13,8 @@ from pyppeteer.browser import Browser from pyppeteer.chromium_downloader import check_chromium, download_chromium from pyppeteer.page import Page +from bs4 import BeautifulSoup as bs + from .plugin_config import plugin_config class Singleton(type): @@ -121,3 +124,15 @@ async def parse_text(text: str) -> MessageSegment: return await render.text_to_pic_cqcode(text) else: return MessageSegment.text(text) + +def html_to_text(html: str, query_dict: dict = {}) -> str: + html = re.sub(r'', '
\n', html) + html = html.replace('

', '

\n') + soup = bs(html, 'html.parser') + if query_dict: + node = soup.find(**query_dict) + else: + node = soup + assert node is not None + return node.text.strip() +