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