diff --git a/manifest.json b/manifest.json
index 44b2700..5867ecc 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,10 +1,10 @@
 {
   "manifest_version": 4,
   "type": "extension",
-  "name": "LLOneBot v3.19.2",
+  "name": "LLOneBot v3.19.3",
   "slug": "LLOneBot",
   "description": "使你的NTQQ支持OneBot11协议进行QQ机器人开发, 不支持商店在线更新",
-  "version": "3.19.2",
+  "version": "3.19.3",
   "icon": "./icon.jpg",
   "authors": [
     {
diff --git a/src/ntqqapi/hook.ts b/src/ntqqapi/hook.ts
index c4ef1ff..9636b54 100644
--- a/src/ntqqapi/hook.ts
+++ b/src/ntqqapi/hook.ts
@@ -284,7 +284,7 @@ registerReceiveHook<{ groupList: Group[], updateType: number }>(ReceiveCmdS.GROU
 registerReceiveHook<{groupCode: string, dataSource: number, members: Set<GroupMember>}>(ReceiveCmdS.GROUP_MEMBER_INFO_UPDATE, async (payload) => {
     const groupCode = payload.groupCode;
     const members = Array.from(payload.members.values());
-    log("群成员信息变动", groupCode, members)
+    // log("群成员信息变动", groupCode, members)
     for(const member of members) {
         const existMember = await getGroupMember(groupCode, member.uin);
         if (existMember){
diff --git a/src/ntqqapi/types/msg.ts b/src/ntqqapi/types/msg.ts
index 1436cbd..299bf05 100644
--- a/src/ntqqapi/types/msg.ts
+++ b/src/ntqqapi/types/msg.ts
@@ -1,4 +1,5 @@
 import {GroupMemberRole} from "./group";
+import exp from "constants";
 
 export enum ElementType {
     TEXT = 1,
@@ -209,6 +210,44 @@ export interface FaceElement {
     faceType: 1
 }
 
+export interface MarketFaceElement {
+    "itemType": 6,
+    "faceInfo": 1,
+    "emojiPackageId": 203875,
+    "subType": 3,
+    "mediaType": 0,
+    "imageWidth": 200,
+    "imageHeight": 200,
+    "faceName": string,
+    "emojiId": "094d53bd1c9ac5d35d04b08e8a6c992c",
+    "key": "a8b1dd0aebc8d910",
+    "param": null,
+    "mobileParam": null,
+    "sourceType": null,
+    "startTime": null,
+    "endTime": null,
+    "emojiType": 1,
+    "hasIpProduct": null,
+    "voiceItemHeightArr": null,
+    "sourceName": null,
+    "sourceJumpUrl": null,
+    "sourceTypeName": null,
+    "backColor": null,
+    "volumeColor": null,
+    "staticFacePath": "E:\\SystemDocuments\\QQ\\721011692\\nt_qq\\nt_data\\Emoji\\marketface\\203875\\094d53bd1c9ac5d35d04b08e8a6c992c_aio.png",
+    "dynamicFacePath": "E:\\SystemDocuments\\QQ\\721011692\\nt_qq\\nt_data\\Emoji\\marketface\\203875\\094d53bd1c9ac5d35d04b08e8a6c992c",
+    "supportSize": [
+        {
+            "width": 300,
+            "height": 300
+        },
+        {
+            "width": 200,
+            "height": 200
+        }
+    ],
+    "apngSupportSize": null
+}
 export interface VideoElement {
     "filePath": string,
     "fileName": string,
@@ -321,5 +360,6 @@ export interface RawMessage {
         faceElement: FaceElement;
         videoElement: VideoElement;
         fileElement: FileElement;
+        marketFaceElement: MarketFaceElement;
     }[];
 }
\ No newline at end of file
diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts
index 27205e1..cb4c525 100644
--- a/src/onebot11/constructor.ts
+++ b/src/onebot11/constructor.ts
@@ -203,6 +203,9 @@ export class OB11Constructor {
             } else if (element.faceElement) {
                 message_data["type"] = OB11MessageDataType.face;
                 message_data["data"]["id"] = element.faceElement.faceIndex.toString();
+            } else if (element.marketFaceElement) {
+                message_data["type"] = OB11MessageDataType.mface;
+                message_data["data"]["text"] = element.marketFaceElement.faceName;
             }
             if (message_data.type !== "unknown" && message_data.data) {
                 const cqCode = encodeCQCode(message_data);
diff --git a/src/onebot11/types.ts b/src/onebot11/types.ts
index fcfbf77..907c84b 100644
--- a/src/onebot11/types.ts
+++ b/src/onebot11/types.ts
@@ -108,10 +108,16 @@ export enum OB11MessageDataType {
     reply = "reply",
     json = "json",
     face = "face",
-    mface = "face", // 商城表情
+    mface = "mface", // 商城表情
     node = "node",  // 合并转发消息
 }
 
+export interface OB11MessageMFace{
+    type: OB11MessageDataType.mface,
+    data: {
+        text: string
+    }
+}
 export interface OB11MessageText {
     type: OB11MessageDataType.text,
     data: {
@@ -199,7 +205,7 @@ export interface OB11MessageJson {
 
 export type OB11MessageData =
     OB11MessageText |
-    OB11MessageFace |
+    OB11MessageFace | OB11MessageMFace |
     OB11MessageAt | OB11MessageReply |
     OB11MessageImage | OB11MessageRecord | OB11MessageFile | OB11MessageVideo |
     OB11MessageNode | OB11MessageCustomMusic | OB11MessageJson