update v0.1.4.5

This commit is contained in:
HibiKier
2022-04-04 20:33:37 +08:00
parent b5ce4fab31
commit 0f59895c3b
22 changed files with 714 additions and 91 deletions
+10 -6
View File
@@ -295,7 +295,7 @@ class AsyncPlaywright:
path: Union[Path, str],
element: Union[str, List[str]],
*,
sleep: Optional[int] = None,
wait_time: Optional[int] = None,
viewport_size: Dict[str, int] = None,
wait_until: Optional[
Literal["domcontentloaded", "load", "networkidle"]
@@ -311,7 +311,7 @@ class AsyncPlaywright:
:param url: 网址
:param path: 存储路径
:param element: 元素选择
:param sleep: 延迟截取
:param wait_time: 等待截取超时时间
:param viewport_size: 窗口大小
:param wait_until: 等待类型
:param timeout: 超时限制
@@ -325,14 +325,18 @@ class AsyncPlaywright:
try:
page = await cls.goto(url, wait_until=wait_until, **kwargs)
await page.set_viewport_size(viewport_size)
if sleep:
await asyncio.sleep(sleep)
if isinstance(element, str):
card = await page.query_selector(element)
if wait_time:
card = await page.wait_for_selector(element, timeout=wait_time)
else:
card = await page.query_selector(element)
else:
card = page
for e in element:
card = await card.query_selector(e)
if wait_time:
card = await card.wait_for_selector(e, timeout=wait_time)
else:
card = await card.query_selector(e)
await card.screenshot(path=path, timeout=timeout, type=type_)
return image(path)
except Exception as e:
+2 -1
View File
@@ -2,6 +2,7 @@ from typing import Union, Optional
from pathlib import Path
from ruamel.yaml import YAML
import ujson as json
import copy
yaml = YAML(typ="safe")
@@ -47,7 +48,7 @@ class StaticData:
del self._data[key]
def get_data(self) -> dict:
return self._data
return copy.deepcopy(self._data)
def save(self, path: Union[str, Path] = None):
path = path if path else self.file
+24 -6
View File
@@ -2,7 +2,7 @@ from utils.manager.data_class import StaticData
from nonebot.adapters.onebot.v11 import Bot
from nonebot.adapters.onebot.v11.exception import ActionFailed
from services.log import logger
from typing import Optional
from typing import Optional, Literal
from utils.image_utils import BuildImage
from utils.utils import get_user_avatar
from pathlib import Path
@@ -80,7 +80,10 @@ class RequestManager(StaticData):
通过id获取群号
:param id_: id
"""
return self._data["group"].get(id_)
data = self._data["group"].get(str(id_))
if data:
return data["invite_group"]
return None
async def approve(self, bot: Bot, id_: int, type_: str) -> Optional[int]:
"""
@@ -100,13 +103,28 @@ class RequestManager(StaticData):
"""
return await self._set_add_request(bot, id_, type_, False)
def clear(self):
def clear(self, type_: Optional[str] = None): # type_: Optional[Literal["group", "private"]] = None
"""
清空所有请求信息,无视请求
:param type_: 类型
"""
self._data = {"private": {}, "group": {}}
if type_:
self._data[type_] = {}
else:
self._data = {"private": {}, "group": {}}
self.save()
def delete_request(self, id_: int, type_: str): # type_: Literal["group", "private"]
"""
删除请求
:param id_: id
:param type_: 类型
"""
id_ = str(id_)
if self._data[type_].get(id_):
del self._data[type_][id_]
self.save()
def set_group_name(self, group_name: str, group_id: int):
"""
设置群聊名称
@@ -223,7 +241,7 @@ class RequestManager(StaticData):
:param approve: 是否同意
"""
id_ = str(id_)
if id_ in self._data[type_]:
if id_ in self._data[type_].keys():
try:
if type_ == "private":
await bot.set_friend_add_request(
@@ -244,7 +262,7 @@ class RequestManager(StaticData):
)
return None
logger.info(
f"同意{self._data[type_][id_]['nickname']}({self._data[type_][id_]['id']})"
f"{'同意' if approve else '拒绝'}{self._data[type_][id_]['nickname']}({self._data[type_][id_]['id']})"
f"的{'好友' if type_ == 'private' else '入群'}请求..."
)
del self._data[type_][id_]