From 6abeb05a183d73b232e161c44b6e9e42f7ee5488 Mon Sep 17 00:00:00 2001 From: passthem Date: Sun, 12 Oct 2025 11:02:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=9C=AA=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=9A=84=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- konabot/plugins/ytpgif/__init__.py | 36 +++--------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/konabot/plugins/ytpgif/__init__.py b/konabot/plugins/ytpgif/__init__.py index 42c9354..19b2bca 100644 --- a/konabot/plugins/ytpgif/__init__.py +++ b/konabot/plugins/ytpgif/__init__.py @@ -1,18 +1,11 @@ from io import BytesIO -from typing import Optional -from PIL import Image from loguru import logger -from nonebot.adapters import Event as BaseEvent from nonebot.adapters import Bot as BaseBot +from nonebot.adapters import Event as BaseEvent from nonebot.plugin import PluginMetadata -from nonebot_plugin_alconna import ( - Alconna, - Args, - Field, - UniMessage, - on_alconna, -) +from nonebot_plugin_alconna import Alconna, Args, Field, UniMessage, on_alconna +from PIL import Image from returns.result import Failure, Success from konabot.common.nb.extract_image import extract_image_from_message @@ -57,29 +50,6 @@ ytpgif_cmd = on_alconna( ) -async def get_image_url(event: BaseEvent) -> Optional[str]: - """从事件中提取图片 URL,支持直接消息和回复""" - msg = event.get_message() - for seg in msg: - if seg.type == "image" and seg.data.get("url"): - return str(seg.data["url"]) - - if hasattr(event, "reply") and (reply := getattr(event, "reply")): - reply_msg = reply.message - for seg in reply_msg: - if seg.type == "image" and seg.data.get("url"): - return str(seg.data["url"]) - return None - - -async def download_image(url: str) -> bytes: - import httpx - async with httpx.AsyncClient() as client: - resp = await client.get(url, timeout=10) - resp.raise_for_status() - return resp.content - - def resize_frame(frame: Image.Image) -> Image.Image: """缩放图像,保持宽高比,不超过 MAX_SIZE""" w, h = frame.size