mirror of
https://github.com/A-Minos/nonebot-plugin-tetris-stats.git
synced 2026-03-05 05:36:54 +08:00
✨ 添加截图质量配置项
This commit is contained in:
@@ -10,3 +10,4 @@ class Config(BaseModel):
|
|||||||
"""配置类"""
|
"""配置类"""
|
||||||
|
|
||||||
tetris_req_timeout: float = 30.0
|
tetris_req_timeout: float = 30.0
|
||||||
|
tetris_screenshot_quality: float = 2
|
||||||
|
|||||||
@@ -1,14 +1,20 @@
|
|||||||
|
from nonebot import get_plugin_config
|
||||||
from playwright.async_api import TimeoutError
|
from playwright.async_api import TimeoutError
|
||||||
|
|
||||||
|
from ..config.config import Config
|
||||||
from .browser import BrowserManager
|
from .browser import BrowserManager
|
||||||
from .retry import retry
|
from .retry import retry
|
||||||
|
|
||||||
|
config = get_plugin_config(Config)
|
||||||
|
|
||||||
|
|
||||||
@retry(exception_type=TimeoutError, reply='截图失败, 重试中')
|
@retry(exception_type=TimeoutError, reply='截图失败, 重试中')
|
||||||
async def screenshot(url: str) -> bytes:
|
async def screenshot(url: str) -> bytes:
|
||||||
browser = await BrowserManager.get_browser()
|
browser = await BrowserManager.get_browser()
|
||||||
async with (
|
async with (
|
||||||
await browser.new_page(viewport={'width': 3000, 'height': 3000}) as page,
|
await browser.new_page(
|
||||||
|
viewport={'width': 3000, 'height': 3000}, device_scale_factor=config.tetris_screenshot_quality
|
||||||
|
) as page,
|
||||||
):
|
):
|
||||||
await page.goto(url)
|
await page.goto(url)
|
||||||
await page.wait_for_load_state('networkidle')
|
await page.wait_for_load_state('networkidle')
|
||||||
|
|||||||
Reference in New Issue
Block a user