From e22c804debcce54ce8a853123677acf8e511ded9 Mon Sep 17 00:00:00 2001 From: Dong_master <2213070223@qq.com> Date: Wed, 19 Mar 2025 22:47:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=91=E9=80=81emoji?= =?UTF-8?q?=E8=A1=A8=E6=83=85=EF=BC=9F=EF=BC=88=E5=A5=BD=E5=83=8F=E6=B2=A1?= =?UTF-8?q?=E5=95=A5=E7=94=A8=EF=BC=89=E5=92=8C=E5=8F=91=E9=80=81=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/platform/sources/gewechat.py | 18 +++++++++++++++++- pkg/platform/types/message.py | 23 +++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/pkg/platform/sources/gewechat.py b/pkg/platform/sources/gewechat.py index f78cdfba..db7971e1 100644 --- a/pkg/platform/sources/gewechat.py +++ b/pkg/platform/sources/gewechat.py @@ -48,10 +48,17 @@ class GewechatMessageConverter(adapter.MessageConverter): pass content_list.append({"type": "image", "image": component.url}) elif isinstance(component, platform_message.MiniPrograms): - # content_list.append({"type": 'MiniPrograms', 'xml_data': component.xml_data, 'image_url': component.image_url}) content_list.append({"type": 'MiniPrograms', 'mini_app_id': component.mini_app_id, 'display_name': component.display_name, 'page_path': component.page_path, 'cover_img_url': component.image_url, 'title': component.title, 'user_name': component.user_name}) + elif isinstance(component, platform_message.ForwardMiniPrograms): + content_list.append({"type": 'ForwardMiniPrograms', 'xml_data': component.xml_data, 'image_url': component.image_url}) + elif isinstance(component, platform_message.EmoJi): + content_list.append({'type': 'emoji', 'emoji_md5': component.emoji_md5, 'emoji_size': component.emoji_size}) + elif isinstance(component, platform_message.Link): + content_list.append({'type': 'Link', 'link_title': component.link_title, 'link_desc': component.link_desc, + 'link_thumb_url': component.link_thumb_url, 'link_url': component.link_url}) + elif isinstance(component, platform_message.Voice): content_list.append({"type": "voice", "url": component.url, "length": component.length}) @@ -369,6 +376,15 @@ class GeWeChatAdapter(adapter.MessagePlatformAdapter): self.bot.post_mini_app(app_id=self.config['app_id'], to_wxid=target_id, mini_app_id=msg['mini_app_id'] , display_name=msg['display_name'], page_path=msg['page_path'] , cover_img_url=msg['cover_img_url'], title=msg['title'], user_name=msg['user_name']) + elif msg['type'] == 'ForwardMiniPrograms': + self.bot.forward_mini_app(app_id=self.config['app_id'], to_wxid=target_id, xml=msg['xml_data'], cover_img_url=msg['inage_url']) + elif msg['type'] == 'emoji': + self.bot.post_emoji(app_id=self.config['app_id'], to_wxid=target_id, + emoji_md5=msg['emoji_md5'], emoji_size=msg['emoji_size']) + elif msg['type'] == 'Link': + self.bot.post_link(app_id=self.config['app_id'], to_wxid=target_id + ,title=msg['link_title'], desc=msg['link_desc'] + , link_url=msg['link_url'], thumb_url=msg['link_thumb_url']) diff --git a/pkg/platform/types/message.py b/pkg/platform/types/message.py index f42dfb9c..f75bb945 100644 --- a/pkg/platform/types/message.py +++ b/pkg/platform/types/message.py @@ -672,6 +672,29 @@ class ForwardMiniPrograms(MessageComponent): image_url: typing.Optional[str] = None +class EmoJi(MessageComponent): + """emoji表情""" + type: str = 'EmoJi' + """emojimd5""" + emoji_md5: str + """emoji大小""" + emoji_size: int + + +class Link(MessageComponent): + """发送链接""" + type: str = 'Link' + """标题""" + link_title: str = '' + """链接描述""" + link_desc: str = '' + """链接地址""" + link_url: str = '' + """链接略缩图""" + link_thumb_url: str = '' + + + class Voice(MessageComponent): """语音。""" type: str = "Voice"