From 19af3740c1b028c4487b5269879fab9caea861fc Mon Sep 17 00:00:00 2001 From: Dong_master <2213070223@qq.com> Date: Fri, 28 Feb 2025 01:17:25 +0800 Subject: [PATCH] =?UTF-8?q?'=E4=B8=AA=E4=BA=BA=E5=BE=AE=E4=BF=A1=E4=B8=AD?= =?UTF-8?q?=E4=B8=BB=E5=8A=A8=E5=8F=91=E9=80=81=E5=9B=BE=E7=89=87=E7=9A=84?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E4=BD=86=E6=98=AF=E5=8F=AA=E8=83=BD?= =?UTF-8?q?=E5=8F=91=E9=80=81=E9=93=BE=E6=8E=A5'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/platform/sources/gewechat.py | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/pkg/platform/sources/gewechat.py b/pkg/platform/sources/gewechat.py index 3f53f802..f0df4b43 100644 --- a/pkg/platform/sources/gewechat.py +++ b/pkg/platform/sources/gewechat.py @@ -43,8 +43,25 @@ class GewechatMessageConverter(adapter.MessageConverter): elif isinstance(component, platform_message.Plain): content_list.append({"type": "text", "content": component.text}) elif isinstance(component, platform_message.Image): + # if component.base64: + # arg = component.base64 + # content_list.append({"type": "image", "image": arg}) + # elif component.url: + # arg = component.url + # content_list.append({"type": "image", "image": arg}) + # elif component.path: + # arg = component.path + # content_list.append({"type": "image", "image": arg}) + # elif component.image_id: + # arg = component.image_id + # content_list.append({"type": "image", "image_id": arg}) + if not component.url: + pass + content_list.append({"type": "image", "image": component.url}) + + # content_list.append({"type": "image", "image_id": component.image_id}) - pass + # pass elif isinstance(component, platform_message.Forward): for node in component.node_list: content_list.extend(await GewechatMessageConverter.yiri2target(node.message_chain)) @@ -83,6 +100,7 @@ class GewechatMessageConverter(adapter.MessageConverter): platform_message.Plain(text="[图片内容为空]") ]) + try: base64_str, image_format = await image.get_gewechat_image_base64( gewechat_url=self.config["gewechat_url"], @@ -101,7 +119,7 @@ class GewechatMessageConverter(adapter.MessageConverter): except Exception as e: print(f"处理图片消息失败: {str(e)}") return platform_message.MessageChain([ - platform_message.Plain(text="[图片处理失败]") + platform_message.Plain(text=f"[图片处理失败]") ]) elif message["Data"]["MsgType"] == 49: @@ -239,10 +257,17 @@ class GeWeChatAdapter(adapter.MessagePlatformAdapter): message: platform_message.MessageChain ): geweap_msg = await GewechatMessageConverter.yiri2target(message) + # 此处加上群消息at处理 + # ats = [item["target"] for item in geweap_msg if item["type"] == "at"] for msg in geweap_msg: if msg['type'] == 'text': - await self.bot.post_text(app_id=self.config['app_id'], to_wxid=target_id,content=msg['content']) + await self.bot.post_text(app_id=self.config['app_id'], to_wxid=target_id, content=msg['content']) + + elif msg['type'] == 'image': + + await self.bot.post_image(app_id=self.config['app_id'], to_wxid=target_id, img_url=msg["image"]) + async def reply_message( self,