From bfbfa9d9be37510a5976fb4424bc42393246e774 Mon Sep 17 00:00:00 2001 From: passthem Date: Wed, 5 Nov 2025 23:15:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=A7=A3=E5=86=B3=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- konabot/common/nb/extract_image.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/konabot/common/nb/extract_image.py b/konabot/common/nb/extract_image.py index d0bed4d..f548c22 100644 --- a/konabot/common/nb/extract_image.py +++ b/konabot/common/nb/extract_image.py @@ -8,6 +8,7 @@ import nonebot from nonebot.matcher import Matcher from nonebot.adapters import Bot, Event, Message from nonebot.adapters.discord import Bot as DiscordBot +from nonebot.adapters.discord import GuildMessageCreateEvent as DiscordMessageEvent from nonebot.adapters.onebot.v11 import Bot as OnebotV11Bot from nonebot.adapters.onebot.v11 import Message as OnebotV11Message from nonebot.adapters.onebot.v11 import MessageEvent as OnebotV11MessageEvent @@ -121,6 +122,14 @@ async def extract_image_from_message( logger.debug('获取图片的路径 Fallback 到 QQ 模块') return await extract_image_from_qq_message(msg, evt, bot, allow_reply) + if isinstance(evt, DiscordMessageEvent): + logger.debug('获取图片的路径方式走 Discord') + for a in evt.attachments: + if "image/" not in a.content_type: + continue + url = a.url + return (await download_image_bytes(url)).bind(bytes_to_pil) + for seg in UniMessage.of(msg, bot): logger.info(seg) if isinstance(seg, Image):