diff --git a/package.json b/package.json
index db33d5e..44fc231 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
     "deploy-win": "cmd /c \"xcopy /C /S /Y dist\\* %LITELOADERQQNT_PROFILE%\\plugins\\LLOneBot\\\"",
     "format": "prettier -cw .",
     "check": "tsc",
-    "compile:proto": "pbjs --no-create --no-convert --no-verify -t static-module -w es6 -p src/ntqqapi/proto -o src/ntqqapi/proto/compiled.js profileLikeTip.proto groupNotify.proto message.proto richMedia.proto && pbts -o src/ntqqapi/proto/compiled.d.ts src/ntqqapi/proto/compiled.js"
+    "compile:proto": "pbjs --no-create --no-convert --no-delimited --no-verify -t static-module -w es6 -p src/ntqqapi/proto -o src/ntqqapi/proto/compiled.js profileLikeTip.proto groupNotify.proto message.proto richMedia.proto && pbts -o src/ntqqapi/proto/compiled.d.ts src/ntqqapi/proto/compiled.js"
   },
   "author": "",
   "license": "MIT",
diff --git a/src/main/main.ts b/src/main/main.ts
index 6966b02..964260d 100644
--- a/src/main/main.ts
+++ b/src/main/main.ts
@@ -185,7 +185,7 @@ function onLoad() {
 
       if (config.enableLLOB && (config.satori.enable || config.ob11.enable)) {
         startHook()
-        await ctx.sleep(350)
+        await ctx.sleep(550)
       } else {
         llonebotError.otherError = 'LLOneBot 未启动'
         log('LLOneBot 开关设置为关闭,不启动 LLOneBot')
diff --git a/src/ntqqapi/api/group.ts b/src/ntqqapi/api/group.ts
index ae3a3b2..e6aacd2 100644
--- a/src/ntqqapi/api/group.ts
+++ b/src/ntqqapi/api/group.ts
@@ -110,8 +110,9 @@ export class NTQQGroupApi extends Service {
     const groupCode = flagitem[0]
     const seq = flagitem[1]
     const type = parseInt(flagitem[2])
+    const doubt = flagitem[3] === '1'
     return await invoke(NTMethod.HANDLE_GROUP_REQUEST, [{
-      doubt: false,
+      doubt,
       operateMsg: {
         operateType,
         targetMsg: {
diff --git a/src/ntqqapi/core.ts b/src/ntqqapi/core.ts
index 67cb801..54b7e15 100644
--- a/src/ntqqapi/core.ts
+++ b/src/ntqqapi/core.ts
@@ -16,7 +16,7 @@ import {
   BuddyReqType,
   GrayTipElementSubType
 } from './types'
-import { selfInfo, llonebotError } from '../common/globalVars'
+import { selfInfo } from '../common/globalVars'
 import { version } from '../version'
 import { invoke } from './ntcall'
 import { Native } from './native/index'
@@ -29,7 +29,7 @@ declare module 'cordis' {
     'nt/message-created': (input: RawMessage) => void
     'nt/message-deleted': (input: RawMessage) => void
     'nt/message-sent': (input: RawMessage) => void
-    'nt/group-notify': (input: GroupNotify) => void
+    'nt/group-notify': (input: { notify: GroupNotify, doubt: boolean }) => void
     'nt/friend-request': (input: FriendRequest) => void
     'nt/group-member-info-updated': (input: { groupCode: string, members: GroupMember[] }) => void
     'nt/system-message-created': (input: Uint8Array) => void
@@ -228,7 +228,7 @@ class Core extends Service {
             continue
           }
           groupNotifyIgnore.push(notify.seq)
-          this.ctx.parallel('nt/group-notify', notify)
+          this.ctx.parallel('nt/group-notify', { notify, doubt: payload.doubt })
         }
       }
     })
diff --git a/src/ntqqapi/proto/compiled.d.ts b/src/ntqqapi/proto/compiled.d.ts
index 1700cfd..191d1dc 100644
--- a/src/ntqqapi/proto/compiled.d.ts
+++ b/src/ntqqapi/proto/compiled.d.ts
@@ -42,14 +42,6 @@ export namespace SysMsg {
          */
         public static encode(message: SysMsg.ILikeDetail, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified LikeDetail message, length delimited. Does not implicitly {@link SysMsg.LikeDetail.verify|verify} messages.
-         * @param message LikeDetail message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: SysMsg.ILikeDetail, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a LikeDetail message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -60,15 +52,6 @@ export namespace SysMsg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SysMsg.LikeDetail;
 
-        /**
-         * Decodes a LikeDetail message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns LikeDetail
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SysMsg.LikeDetail;
-
         /**
          * Gets the default type url for LikeDetail
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -116,14 +99,6 @@ export namespace SysMsg {
          */
         public static encode(message: SysMsg.ILikeMsg, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified LikeMsg message, length delimited. Does not implicitly {@link SysMsg.LikeMsg.verify|verify} messages.
-         * @param message LikeMsg message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: SysMsg.ILikeMsg, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a LikeMsg message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -134,15 +109,6 @@ export namespace SysMsg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SysMsg.LikeMsg;
 
-        /**
-         * Decodes a LikeMsg message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns LikeMsg
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SysMsg.LikeMsg;
-
         /**
          * Gets the default type url for LikeMsg
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -178,14 +144,6 @@ export namespace SysMsg {
          */
         public static encode(message: SysMsg.IProfileLikeSubTip, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified ProfileLikeSubTip message, length delimited. Does not implicitly {@link SysMsg.ProfileLikeSubTip.verify|verify} messages.
-         * @param message ProfileLikeSubTip message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: SysMsg.IProfileLikeSubTip, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a ProfileLikeSubTip message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -196,15 +154,6 @@ export namespace SysMsg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SysMsg.ProfileLikeSubTip;
 
-        /**
-         * Decodes a ProfileLikeSubTip message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns ProfileLikeSubTip
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SysMsg.ProfileLikeSubTip;
-
         /**
          * Gets the default type url for ProfileLikeSubTip
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -252,14 +201,6 @@ export namespace SysMsg {
          */
         public static encode(message: SysMsg.IProfileLikeTip, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified ProfileLikeTip message, length delimited. Does not implicitly {@link SysMsg.ProfileLikeTip.verify|verify} messages.
-         * @param message ProfileLikeTip message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: SysMsg.IProfileLikeTip, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a ProfileLikeTip message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -270,15 +211,6 @@ export namespace SysMsg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SysMsg.ProfileLikeTip;
 
-        /**
-         * Decodes a ProfileLikeTip message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns ProfileLikeTip
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SysMsg.ProfileLikeTip;
-
         /**
          * Gets the default type url for ProfileLikeTip
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -332,14 +264,6 @@ export namespace SysMsg {
          */
         public static encode(message: SysMsg.IGroupMemberChange, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified GroupMemberChange message, length delimited. Does not implicitly {@link SysMsg.GroupMemberChange.verify|verify} messages.
-         * @param message GroupMemberChange message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: SysMsg.IGroupMemberChange, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a GroupMemberChange message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -350,15 +274,6 @@ export namespace SysMsg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SysMsg.GroupMemberChange;
 
-        /**
-         * Decodes a GroupMemberChange message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns GroupMemberChange
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SysMsg.GroupMemberChange;
-
         /**
          * Gets the default type url for GroupMemberChange
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -400,14 +315,6 @@ export namespace SysMsg {
          */
         public static encode(message: SysMsg.IGroupInvite, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified GroupInvite message, length delimited. Does not implicitly {@link SysMsg.GroupInvite.verify|verify} messages.
-         * @param message GroupInvite message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: SysMsg.IGroupInvite, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a GroupInvite message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -418,15 +325,6 @@ export namespace SysMsg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): SysMsg.GroupInvite;
 
-        /**
-         * Decodes a GroupInvite message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns GroupInvite
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): SysMsg.GroupInvite;
-
         /**
          * Gets the default type url for GroupInvite
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -508,14 +406,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IRoutingHead, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified RoutingHead message, length delimited. Does not implicitly {@link Msg.RoutingHead.verify|verify} messages.
-         * @param message RoutingHead message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IRoutingHead, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a RoutingHead message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -526,15 +416,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.RoutingHead;
 
-        /**
-         * Decodes a RoutingHead message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns RoutingHead
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.RoutingHead;
-
         /**
          * Gets the default type url for RoutingHead
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -570,14 +451,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IC2c, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified C2c message, length delimited. Does not implicitly {@link Msg.C2c.verify|verify} messages.
-         * @param message C2c message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IC2c, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a C2c message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -588,15 +461,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.C2c;
 
-        /**
-         * Decodes a C2c message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns C2c
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.C2c;
-
         /**
          * Gets the default type url for C2c
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -680,14 +544,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IGroup, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified Group message, length delimited. Does not implicitly {@link Msg.Group.verify|verify} messages.
-         * @param message Group message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IGroup, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a Group message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -698,15 +554,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.Group;
 
-        /**
-         * Decodes a Group message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns Group
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.Group;
-
         /**
          * Gets the default type url for Group
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -814,14 +661,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IContentHead, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified ContentHead message, length delimited. Does not implicitly {@link Msg.ContentHead.verify|verify} messages.
-         * @param message ContentHead message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IContentHead, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a ContentHead message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -832,15 +671,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.ContentHead;
 
-        /**
-         * Decodes a ContentHead message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns ContentHead
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.ContentHead;
-
         /**
          * Gets the default type url for ContentHead
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -900,14 +730,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IContentHeadField15, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified ContentHeadField15 message, length delimited. Does not implicitly {@link Msg.ContentHeadField15.verify|verify} messages.
-         * @param message ContentHeadField15 message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IContentHeadField15, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a ContentHeadField15 message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -918,15 +740,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.ContentHeadField15;
 
-        /**
-         * Decodes a ContentHeadField15 message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns ContentHeadField15
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.ContentHeadField15;
-
         /**
          * Gets the default type url for ContentHeadField15
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -974,14 +787,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IMessage, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified Message message, length delimited. Does not implicitly {@link Msg.Message.verify|verify} messages.
-         * @param message Message message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IMessage, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a Message message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -992,15 +797,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.Message;
 
-        /**
-         * Decodes a Message message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns Message
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.Message;
-
         /**
          * Gets the default type url for Message
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1048,14 +844,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IMessageBody, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified MessageBody message, length delimited. Does not implicitly {@link Msg.MessageBody.verify|verify} messages.
-         * @param message MessageBody message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IMessageBody, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a MessageBody message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1066,15 +854,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.MessageBody;
 
-        /**
-         * Decodes a MessageBody message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns MessageBody
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.MessageBody;
-
         /**
          * Gets the default type url for MessageBody
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1116,14 +895,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IRichText, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified RichText message, length delimited. Does not implicitly {@link Msg.RichText.verify|verify} messages.
-         * @param message RichText message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IRichText, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a RichText message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1134,15 +905,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.RichText;
 
-        /**
-         * Decodes a RichText message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns RichText
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.RichText;
-
         /**
          * Gets the default type url for RichText
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1196,14 +958,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IElem, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified Elem message, length delimited. Does not implicitly {@link Msg.Elem.verify|verify} messages.
-         * @param message Elem message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IElem, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes an Elem message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1214,15 +968,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.Elem;
 
-        /**
-         * Decodes an Elem message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns Elem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.Elem;
-
         /**
          * Gets the default type url for Elem
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1288,14 +1033,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IText, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified Text message, length delimited. Does not implicitly {@link Msg.Text.verify|verify} messages.
-         * @param message Text message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IText, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a Text message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1306,15 +1043,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.Text;
 
-        /**
-         * Decodes a Text message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns Text
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.Text;
-
         /**
          * Gets the default type url for Text
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1362,14 +1090,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IFace, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified Face message, length delimited. Does not implicitly {@link Msg.Face.verify|verify} messages.
-         * @param message Face message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IFace, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a Face message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1380,15 +1100,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.Face;
 
-        /**
-         * Decodes a Face message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns Face
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.Face;
-
         /**
          * Gets the default type url for Face
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1430,14 +1141,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.ILightAppElem, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified LightAppElem message, length delimited. Does not implicitly {@link Msg.LightAppElem.verify|verify} messages.
-         * @param message LightAppElem message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.ILightAppElem, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a LightAppElem message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1448,15 +1151,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.LightAppElem;
 
-        /**
-         * Decodes a LightAppElem message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns LightAppElem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.LightAppElem;
-
         /**
          * Gets the default type url for LightAppElem
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1504,14 +1198,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.ICommonElem, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified CommonElem message, length delimited. Does not implicitly {@link Msg.CommonElem.verify|verify} messages.
-         * @param message CommonElem message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.ICommonElem, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a CommonElem message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1522,15 +1208,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.CommonElem;
 
-        /**
-         * Decodes a CommonElem message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns CommonElem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.CommonElem;
-
         /**
          * Gets the default type url for CommonElem
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1620,14 +1297,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IAttr, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified Attr message, length delimited. Does not implicitly {@link Msg.Attr.verify|verify} messages.
-         * @param message Attr message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IAttr, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes an Attr message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1638,15 +1307,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.Attr;
 
-        /**
-         * Decodes an Attr message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns Attr
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.Attr;
-
         /**
          * Gets the default type url for Attr
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1682,14 +1342,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IMarkdownElem, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified MarkdownElem message, length delimited. Does not implicitly {@link Msg.MarkdownElem.verify|verify} messages.
-         * @param message MarkdownElem message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IMarkdownElem, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a MarkdownElem message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1700,15 +1352,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.MarkdownElem;
 
-        /**
-         * Decodes a MarkdownElem message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns MarkdownElem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.MarkdownElem;
-
         /**
          * Gets the default type url for MarkdownElem
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1750,14 +1393,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IPbMultiMsgItem, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified PbMultiMsgItem message, length delimited. Does not implicitly {@link Msg.PbMultiMsgItem.verify|verify} messages.
-         * @param message PbMultiMsgItem message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IPbMultiMsgItem, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a PbMultiMsgItem message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1768,15 +1403,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.PbMultiMsgItem;
 
-        /**
-         * Decodes a PbMultiMsgItem message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns PbMultiMsgItem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.PbMultiMsgItem;
-
         /**
          * Gets the default type url for PbMultiMsgItem
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1812,14 +1438,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IPbMultiMsgNew, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified PbMultiMsgNew message, length delimited. Does not implicitly {@link Msg.PbMultiMsgNew.verify|verify} messages.
-         * @param message PbMultiMsgNew message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IPbMultiMsgNew, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a PbMultiMsgNew message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1830,15 +1448,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.PbMultiMsgNew;
 
-        /**
-         * Decodes a PbMultiMsgNew message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns PbMultiMsgNew
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.PbMultiMsgNew;
-
         /**
          * Gets the default type url for PbMultiMsgNew
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1880,14 +1489,6 @@ export namespace Msg {
          */
         public static encode(message: Msg.IPbMultiMsgTransmit, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified PbMultiMsgTransmit message, length delimited. Does not implicitly {@link Msg.PbMultiMsgTransmit.verify|verify} messages.
-         * @param message PbMultiMsgTransmit message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: Msg.IPbMultiMsgTransmit, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a PbMultiMsgTransmit message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1898,15 +1499,6 @@ export namespace Msg {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): Msg.PbMultiMsgTransmit;
 
-        /**
-         * Decodes a PbMultiMsgTransmit message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns PbMultiMsgTransmit
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): Msg.PbMultiMsgTransmit;
-
         /**
          * Gets the default type url for PbMultiMsgTransmit
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -1952,14 +1544,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IMsgInfo, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified MsgInfo message, length delimited. Does not implicitly {@link RichMedia.MsgInfo.verify|verify} messages.
-         * @param message MsgInfo message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IMsgInfo, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a MsgInfo message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -1970,15 +1554,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.MsgInfo;
 
-        /**
-         * Decodes a MsgInfo message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns MsgInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.MsgInfo;
-
         /**
          * Gets the default type url for MsgInfo
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2026,14 +1601,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IMsgInfoBody, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified MsgInfoBody message, length delimited. Does not implicitly {@link RichMedia.MsgInfoBody.verify|verify} messages.
-         * @param message MsgInfoBody message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IMsgInfoBody, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a MsgInfoBody message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2044,15 +1611,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.MsgInfoBody;
 
-        /**
-         * Decodes a MsgInfoBody message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns MsgInfoBody
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.MsgInfoBody;
-
         /**
          * Gets the default type url for MsgInfoBody
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2118,14 +1676,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IIndexNode, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified IndexNode message, length delimited. Does not implicitly {@link RichMedia.IndexNode.verify|verify} messages.
-         * @param message IndexNode message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IIndexNode, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes an IndexNode message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2136,15 +1686,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.IndexNode;
 
-        /**
-         * Decodes an IndexNode message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns IndexNode
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.IndexNode;
-
         /**
          * Gets the default type url for IndexNode
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2228,14 +1769,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IFileInfo, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified FileInfo message, length delimited. Does not implicitly {@link RichMedia.FileInfo.verify|verify} messages.
-         * @param message FileInfo message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IFileInfo, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a FileInfo message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2246,15 +1779,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.FileInfo;
 
-        /**
-         * Decodes a FileInfo message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns FileInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.FileInfo;
-
         /**
          * Gets the default type url for FileInfo
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2308,14 +1832,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IFileType, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified FileType message, length delimited. Does not implicitly {@link RichMedia.FileType.verify|verify} messages.
-         * @param message FileType message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IFileType, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a FileType message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2326,15 +1842,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.FileType;
 
-        /**
-         * Decodes a FileType message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns FileType
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.FileType;
-
         /**
          * Gets the default type url for FileType
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2382,14 +1889,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IPicInfo, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified PicInfo message, length delimited. Does not implicitly {@link RichMedia.PicInfo.verify|verify} messages.
-         * @param message PicInfo message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IPicInfo, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a PicInfo message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2400,15 +1899,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.PicInfo;
 
-        /**
-         * Decodes a PicInfo message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns PicInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.PicInfo;
-
         /**
          * Gets the default type url for PicInfo
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2456,14 +1946,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IPicUrlExtParams, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified PicUrlExtParams message, length delimited. Does not implicitly {@link RichMedia.PicUrlExtParams.verify|verify} messages.
-         * @param message PicUrlExtParams message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IPicUrlExtParams, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a PicUrlExtParams message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2474,15 +1956,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.PicUrlExtParams;
 
-        /**
-         * Decodes a PicUrlExtParams message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns PicUrlExtParams
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.PicUrlExtParams;
-
         /**
          * Gets the default type url for PicUrlExtParams
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2530,14 +2003,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IExtBizInfo, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified ExtBizInfo message, length delimited. Does not implicitly {@link RichMedia.ExtBizInfo.verify|verify} messages.
-         * @param message ExtBizInfo message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IExtBizInfo, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes an ExtBizInfo message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2548,15 +2013,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.ExtBizInfo;
 
-        /**
-         * Decodes an ExtBizInfo message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns ExtBizInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.ExtBizInfo;
-
         /**
          * Gets the default type url for ExtBizInfo
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2598,14 +2054,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IPicExtBizInfo, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified PicExtBizInfo message, length delimited. Does not implicitly {@link RichMedia.PicExtBizInfo.verify|verify} messages.
-         * @param message PicExtBizInfo message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IPicExtBizInfo, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a PicExtBizInfo message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2616,15 +2064,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.PicExtBizInfo;
 
-        /**
-         * Decodes a PicExtBizInfo message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns PicExtBizInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.PicExtBizInfo;
-
         /**
          * Gets the default type url for PicExtBizInfo
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2660,14 +2099,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IVideoExtBizInfo, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified VideoExtBizInfo message, length delimited. Does not implicitly {@link RichMedia.VideoExtBizInfo.verify|verify} messages.
-         * @param message VideoExtBizInfo message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IVideoExtBizInfo, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a VideoExtBizInfo message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2678,15 +2109,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.VideoExtBizInfo;
 
-        /**
-         * Decodes a VideoExtBizInfo message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns VideoExtBizInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.VideoExtBizInfo;
-
         /**
          * Gets the default type url for VideoExtBizInfo
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
@@ -2746,14 +2168,6 @@ export namespace RichMedia {
          */
         public static encode(message: RichMedia.IPicFileIdInfo, writer?: $protobuf.Writer): $protobuf.Writer;
 
-        /**
-         * Encodes the specified PicFileIdInfo message, length delimited. Does not implicitly {@link RichMedia.PicFileIdInfo.verify|verify} messages.
-         * @param message PicFileIdInfo message or plain object to encode
-         * @param [writer] Writer to encode to
-         * @returns Writer
-         */
-        public static encodeDelimited(message: RichMedia.IPicFileIdInfo, writer?: $protobuf.Writer): $protobuf.Writer;
-
         /**
          * Decodes a PicFileIdInfo message from the specified reader or buffer.
          * @param reader Reader or buffer to decode from
@@ -2764,15 +2178,6 @@ export namespace RichMedia {
          */
         public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RichMedia.PicFileIdInfo;
 
-        /**
-         * Decodes a PicFileIdInfo message from the specified reader or buffer, length delimited.
-         * @param reader Reader or buffer to decode from
-         * @returns PicFileIdInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RichMedia.PicFileIdInfo;
-
         /**
          * Gets the default type url for PicFileIdInfo
          * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
diff --git a/src/ntqqapi/proto/compiled.js b/src/ntqqapi/proto/compiled.js
index 4ad1751..ce5d785 100644
--- a/src/ntqqapi/proto/compiled.js
+++ b/src/ntqqapi/proto/compiled.js
@@ -87,19 +87,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified LikeDetail message, length delimited. Does not implicitly {@link SysMsg.LikeDetail.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof SysMsg.LikeDetail
-         * @static
-         * @param {SysMsg.ILikeDetail} message LikeDetail message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        LikeDetail.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a LikeDetail message from the specified reader or buffer.
          * @function decode
@@ -138,22 +125,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a LikeDetail message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof SysMsg.LikeDetail
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {SysMsg.LikeDetail} LikeDetail
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        LikeDetail.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for LikeDetail
          * @function getTypeUrl
@@ -243,19 +214,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified LikeMsg message, length delimited. Does not implicitly {@link SysMsg.LikeMsg.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof SysMsg.LikeMsg
-         * @static
-         * @param {SysMsg.ILikeMsg} message LikeMsg message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        LikeMsg.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a LikeMsg message from the specified reader or buffer.
          * @function decode
@@ -294,22 +252,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a LikeMsg message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof SysMsg.LikeMsg
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {SysMsg.LikeMsg} LikeMsg
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        LikeMsg.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for LikeMsg
          * @function getTypeUrl
@@ -377,19 +319,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified ProfileLikeSubTip message, length delimited. Does not implicitly {@link SysMsg.ProfileLikeSubTip.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof SysMsg.ProfileLikeSubTip
-         * @static
-         * @param {SysMsg.IProfileLikeSubTip} message ProfileLikeSubTip message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        ProfileLikeSubTip.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a ProfileLikeSubTip message from the specified reader or buffer.
          * @function decode
@@ -420,22 +349,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a ProfileLikeSubTip message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof SysMsg.ProfileLikeSubTip
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {SysMsg.ProfileLikeSubTip} ProfileLikeSubTip
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        ProfileLikeSubTip.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for ProfileLikeSubTip
          * @function getTypeUrl
@@ -525,19 +438,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified ProfileLikeTip message, length delimited. Does not implicitly {@link SysMsg.ProfileLikeTip.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof SysMsg.ProfileLikeTip
-         * @static
-         * @param {SysMsg.IProfileLikeTip} message ProfileLikeTip message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        ProfileLikeTip.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a ProfileLikeTip message from the specified reader or buffer.
          * @function decode
@@ -576,22 +476,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a ProfileLikeTip message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof SysMsg.ProfileLikeTip
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {SysMsg.ProfileLikeTip} ProfileLikeTip
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        ProfileLikeTip.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for ProfileLikeTip
          * @function getTypeUrl
@@ -692,19 +576,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified GroupMemberChange message, length delimited. Does not implicitly {@link SysMsg.GroupMemberChange.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof SysMsg.GroupMemberChange
-         * @static
-         * @param {SysMsg.IGroupMemberChange} message GroupMemberChange message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        GroupMemberChange.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a GroupMemberChange message from the specified reader or buffer.
          * @function decode
@@ -747,22 +618,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a GroupMemberChange message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof SysMsg.GroupMemberChange
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {SysMsg.GroupMemberChange} GroupMemberChange
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        GroupMemberChange.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for GroupMemberChange
          * @function getTypeUrl
@@ -841,19 +696,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified GroupInvite message, length delimited. Does not implicitly {@link SysMsg.GroupInvite.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof SysMsg.GroupInvite
-         * @static
-         * @param {SysMsg.IGroupInvite} message GroupInvite message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        GroupInvite.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a GroupInvite message from the specified reader or buffer.
          * @function decode
@@ -888,22 +730,6 @@ export const SysMsg = $root.SysMsg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a GroupInvite message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof SysMsg.GroupInvite
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {SysMsg.GroupInvite} GroupInvite
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        GroupInvite.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for GroupInvite
          * @function getTypeUrl
@@ -1111,19 +937,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified RoutingHead message, length delimited. Does not implicitly {@link Msg.RoutingHead.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.RoutingHead
-         * @static
-         * @param {Msg.IRoutingHead} message RoutingHead message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        RoutingHead.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a RoutingHead message from the specified reader or buffer.
          * @function decode
@@ -1182,22 +995,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a RoutingHead message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.RoutingHead
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.RoutingHead} RoutingHead
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        RoutingHead.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for RoutingHead
          * @function getTypeUrl
@@ -1274,19 +1071,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified C2c message, length delimited. Does not implicitly {@link Msg.C2c.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.C2c
-         * @static
-         * @param {Msg.IC2c} message C2c message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        C2c.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a C2c message from the specified reader or buffer.
          * @function decode
@@ -1317,22 +1101,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a C2c message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.C2c
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.C2c} C2c
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        C2c.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for C2c
          * @function getTypeUrl
@@ -1545,19 +1313,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified Group message, length delimited. Does not implicitly {@link Msg.Group.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.Group
-         * @static
-         * @param {Msg.IGroup} message Group message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        Group.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a Group message from the specified reader or buffer.
          * @function decode
@@ -1620,22 +1375,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a Group message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.Group
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.Group} Group
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        Group.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for Group
          * @function getTypeUrl
@@ -1916,19 +1655,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified ContentHead message, length delimited. Does not implicitly {@link Msg.ContentHead.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.ContentHead
-         * @static
-         * @param {Msg.IContentHead} message ContentHead message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        ContentHead.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a ContentHead message from the specified reader or buffer.
          * @function decode
@@ -2007,22 +1733,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a ContentHead message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.ContentHead
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.ContentHead} ContentHead
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        ContentHead.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for ContentHead
          * @function getTypeUrl
@@ -2167,19 +1877,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified ContentHeadField15 message, length delimited. Does not implicitly {@link Msg.ContentHeadField15.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.ContentHeadField15
-         * @static
-         * @param {Msg.IContentHeadField15} message ContentHeadField15 message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        ContentHeadField15.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a ContentHeadField15 message from the specified reader or buffer.
          * @function decode
@@ -2226,22 +1923,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a ContentHeadField15 message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.ContentHeadField15
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.ContentHeadField15} ContentHeadField15
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        ContentHeadField15.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for ContentHeadField15
          * @function getTypeUrl
@@ -2352,19 +2033,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified Message message, length delimited. Does not implicitly {@link Msg.Message.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.Message
-         * @static
-         * @param {Msg.IMessage} message Message message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        Message.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a Message message from the specified reader or buffer.
          * @function decode
@@ -2403,22 +2071,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a Message message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.Message
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.Message} Message
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        Message.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for Message
          * @function getTypeUrl
@@ -2529,19 +2181,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified MessageBody message, length delimited. Does not implicitly {@link Msg.MessageBody.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.MessageBody
-         * @static
-         * @param {Msg.IMessageBody} message MessageBody message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        MessageBody.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a MessageBody message from the specified reader or buffer.
          * @function decode
@@ -2580,22 +2219,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a MessageBody message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.MessageBody
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.MessageBody} MessageBody
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        MessageBody.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for MessageBody
          * @function getTypeUrl
@@ -2685,19 +2308,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified RichText message, length delimited. Does not implicitly {@link Msg.RichText.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.RichText
-         * @static
-         * @param {Msg.IRichText} message RichText message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        RichText.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a RichText message from the specified reader or buffer.
          * @function decode
@@ -2734,22 +2344,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a RichText message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.RichText
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.RichText} RichText
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        RichText.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for RichText
          * @function getTypeUrl
@@ -2877,19 +2471,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified Elem message, length delimited. Does not implicitly {@link Msg.Elem.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.Elem
-         * @static
-         * @param {Msg.IElem} message Elem message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        Elem.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes an Elem message from the specified reader or buffer.
          * @function decode
@@ -2932,22 +2513,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes an Elem message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.Elem
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.Elem} Elem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        Elem.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for Elem
          * @function getTypeUrl
@@ -3109,19 +2674,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified Text message, length delimited. Does not implicitly {@link Msg.Text.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.Text
-         * @static
-         * @param {Msg.IText} message Text message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        Text.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a Text message from the specified reader or buffer.
          * @function decode
@@ -3172,22 +2724,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a Text message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.Text
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.Text} Text
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        Text.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for Text
          * @function getTypeUrl
@@ -3298,19 +2834,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified Face message, length delimited. Does not implicitly {@link Msg.Face.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.Face
-         * @static
-         * @param {Msg.IFace} message Face message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        Face.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a Face message from the specified reader or buffer.
          * @function decode
@@ -3349,22 +2872,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a Face message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.Face
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.Face} Face
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        Face.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for Face
          * @function getTypeUrl
@@ -3458,19 +2965,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified LightAppElem message, length delimited. Does not implicitly {@link Msg.LightAppElem.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.LightAppElem
-         * @static
-         * @param {Msg.ILightAppElem} message LightAppElem message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        LightAppElem.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a LightAppElem message from the specified reader or buffer.
          * @function decode
@@ -3505,22 +2999,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a LightAppElem message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.LightAppElem
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.LightAppElem} LightAppElem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        LightAppElem.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for LightAppElem
          * @function getTypeUrl
@@ -3624,19 +3102,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified CommonElem message, length delimited. Does not implicitly {@link Msg.CommonElem.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.CommonElem
-         * @static
-         * @param {Msg.ICommonElem} message CommonElem message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        CommonElem.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a CommonElem message from the specified reader or buffer.
          * @function decode
@@ -3677,22 +3142,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a CommonElem message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.CommonElem
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.CommonElem} CommonElem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        CommonElem.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for CommonElem
          * @function getTypeUrl
@@ -3922,19 +3371,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified Attr message, length delimited. Does not implicitly {@link Msg.Attr.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.Attr
-         * @static
-         * @param {Msg.IAttr} message Attr message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        Attr.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes an Attr message from the specified reader or buffer.
          * @function decode
@@ -4001,22 +3437,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes an Attr message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.Attr
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.Attr} Attr
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        Attr.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for Attr
          * @function getTypeUrl
@@ -4084,19 +3504,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified MarkdownElem message, length delimited. Does not implicitly {@link Msg.MarkdownElem.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.MarkdownElem
-         * @static
-         * @param {Msg.IMarkdownElem} message MarkdownElem message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        MarkdownElem.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a MarkdownElem message from the specified reader or buffer.
          * @function decode
@@ -4127,22 +3534,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a MarkdownElem message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.MarkdownElem
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.MarkdownElem} MarkdownElem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        MarkdownElem.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for MarkdownElem
          * @function getTypeUrl
@@ -4221,19 +3612,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified PbMultiMsgItem message, length delimited. Does not implicitly {@link Msg.PbMultiMsgItem.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.PbMultiMsgItem
-         * @static
-         * @param {Msg.IPbMultiMsgItem} message PbMultiMsgItem message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        PbMultiMsgItem.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a PbMultiMsgItem message from the specified reader or buffer.
          * @function decode
@@ -4268,22 +3646,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a PbMultiMsgItem message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.PbMultiMsgItem
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.PbMultiMsgItem} PbMultiMsgItem
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        PbMultiMsgItem.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for PbMultiMsgItem
          * @function getTypeUrl
@@ -4353,19 +3715,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified PbMultiMsgNew message, length delimited. Does not implicitly {@link Msg.PbMultiMsgNew.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.PbMultiMsgNew
-         * @static
-         * @param {Msg.IPbMultiMsgNew} message PbMultiMsgNew message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        PbMultiMsgNew.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a PbMultiMsgNew message from the specified reader or buffer.
          * @function decode
@@ -4398,22 +3747,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a PbMultiMsgNew message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.PbMultiMsgNew
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.PbMultiMsgNew} PbMultiMsgNew
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        PbMultiMsgNew.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for PbMultiMsgNew
          * @function getTypeUrl
@@ -4496,19 +3829,6 @@ export const Msg = $root.Msg = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified PbMultiMsgTransmit message, length delimited. Does not implicitly {@link Msg.PbMultiMsgTransmit.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof Msg.PbMultiMsgTransmit
-         * @static
-         * @param {Msg.IPbMultiMsgTransmit} message PbMultiMsgTransmit message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        PbMultiMsgTransmit.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a PbMultiMsgTransmit message from the specified reader or buffer.
          * @function decode
@@ -4547,22 +3867,6 @@ export const Msg = $root.Msg = (() => {
             return message;
         };
 
-        /**
-         * Decodes a PbMultiMsgTransmit message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof Msg.PbMultiMsgTransmit
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {Msg.PbMultiMsgTransmit} PbMultiMsgTransmit
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        PbMultiMsgTransmit.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for PbMultiMsgTransmit
          * @function getTypeUrl
@@ -4655,19 +3959,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified MsgInfo message, length delimited. Does not implicitly {@link RichMedia.MsgInfo.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.MsgInfo
-         * @static
-         * @param {RichMedia.IMsgInfo} message MsgInfo message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        MsgInfo.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a MsgInfo message from the specified reader or buffer.
          * @function decode
@@ -4704,22 +3995,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a MsgInfo message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.MsgInfo
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.MsgInfo} MsgInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        MsgInfo.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for MsgInfo
          * @function getTypeUrl
@@ -4809,19 +4084,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified MsgInfoBody message, length delimited. Does not implicitly {@link RichMedia.MsgInfoBody.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.MsgInfoBody
-         * @static
-         * @param {RichMedia.IMsgInfoBody} message MsgInfoBody message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        MsgInfoBody.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a MsgInfoBody message from the specified reader or buffer.
          * @function decode
@@ -4860,22 +4122,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a MsgInfoBody message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.MsgInfoBody
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.MsgInfoBody} MsgInfoBody
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        MsgInfoBody.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for MsgInfoBody
          * @function getTypeUrl
@@ -4998,19 +4244,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified IndexNode message, length delimited. Does not implicitly {@link RichMedia.IndexNode.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.IndexNode
-         * @static
-         * @param {RichMedia.IIndexNode} message IndexNode message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        IndexNode.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes an IndexNode message from the specified reader or buffer.
          * @function decode
@@ -5061,22 +4294,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes an IndexNode message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.IndexNode
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.IndexNode} IndexNode
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        IndexNode.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for IndexNode
          * @function getTypeUrl
@@ -5232,19 +4449,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified FileInfo message, length delimited. Does not implicitly {@link RichMedia.FileInfo.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.FileInfo
-         * @static
-         * @param {RichMedia.IFileInfo} message FileInfo message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        FileInfo.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a FileInfo message from the specified reader or buffer.
          * @function decode
@@ -5307,22 +4511,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a FileInfo message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.FileInfo
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.FileInfo} FileInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        FileInfo.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for FileInfo
          * @function getTypeUrl
@@ -5423,19 +4611,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified FileType message, length delimited. Does not implicitly {@link RichMedia.FileType.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.FileType
-         * @static
-         * @param {RichMedia.IFileType} message FileType message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        FileType.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a FileType message from the specified reader or buffer.
          * @function decode
@@ -5478,22 +4653,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a FileType message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.FileType
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.FileType} FileType
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        FileType.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for FileType
          * @function getTypeUrl
@@ -5583,19 +4742,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified PicInfo message, length delimited. Does not implicitly {@link RichMedia.PicInfo.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.PicInfo
-         * @static
-         * @param {RichMedia.IPicInfo} message PicInfo message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        PicInfo.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a PicInfo message from the specified reader or buffer.
          * @function decode
@@ -5634,22 +4780,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a PicInfo message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.PicInfo
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.PicInfo} PicInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        PicInfo.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for PicInfo
          * @function getTypeUrl
@@ -5739,19 +4869,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified PicUrlExtParams message, length delimited. Does not implicitly {@link RichMedia.PicUrlExtParams.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.PicUrlExtParams
-         * @static
-         * @param {RichMedia.IPicUrlExtParams} message PicUrlExtParams message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        PicUrlExtParams.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a PicUrlExtParams message from the specified reader or buffer.
          * @function decode
@@ -5790,22 +4907,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a PicUrlExtParams message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.PicUrlExtParams
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.PicUrlExtParams} PicUrlExtParams
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        PicUrlExtParams.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for PicUrlExtParams
          * @function getTypeUrl
@@ -5895,19 +4996,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified ExtBizInfo message, length delimited. Does not implicitly {@link RichMedia.ExtBizInfo.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.ExtBizInfo
-         * @static
-         * @param {RichMedia.IExtBizInfo} message ExtBizInfo message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        ExtBizInfo.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes an ExtBizInfo message from the specified reader or buffer.
          * @function decode
@@ -5946,22 +5034,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes an ExtBizInfo message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.ExtBizInfo
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.ExtBizInfo} ExtBizInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        ExtBizInfo.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for ExtBizInfo
          * @function getTypeUrl
@@ -6040,19 +5112,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified PicExtBizInfo message, length delimited. Does not implicitly {@link RichMedia.PicExtBizInfo.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.PicExtBizInfo
-         * @static
-         * @param {RichMedia.IPicExtBizInfo} message PicExtBizInfo message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        PicExtBizInfo.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a PicExtBizInfo message from the specified reader or buffer.
          * @function decode
@@ -6087,22 +5146,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a PicExtBizInfo message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.PicExtBizInfo
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.PicExtBizInfo} PicExtBizInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        PicExtBizInfo.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for PicExtBizInfo
          * @function getTypeUrl
@@ -6170,19 +5213,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified VideoExtBizInfo message, length delimited. Does not implicitly {@link RichMedia.VideoExtBizInfo.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.VideoExtBizInfo
-         * @static
-         * @param {RichMedia.IVideoExtBizInfo} message VideoExtBizInfo message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        VideoExtBizInfo.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a VideoExtBizInfo message from the specified reader or buffer.
          * @function decode
@@ -6213,22 +5243,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a VideoExtBizInfo message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.VideoExtBizInfo
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.VideoExtBizInfo} VideoExtBizInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        VideoExtBizInfo.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for VideoExtBizInfo
          * @function getTypeUrl
@@ -6340,19 +5354,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return writer;
         };
 
-        /**
-         * Encodes the specified PicFileIdInfo message, length delimited. Does not implicitly {@link RichMedia.PicFileIdInfo.verify|verify} messages.
-         * @function encodeDelimited
-         * @memberof RichMedia.PicFileIdInfo
-         * @static
-         * @param {RichMedia.IPicFileIdInfo} message PicFileIdInfo message or plain object to encode
-         * @param {$protobuf.Writer} [writer] Writer to encode to
-         * @returns {$protobuf.Writer} Writer
-         */
-        PicFileIdInfo.encodeDelimited = function encodeDelimited(message, writer) {
-            return this.encode(message, writer).ldelim();
-        };
-
         /**
          * Decodes a PicFileIdInfo message from the specified reader or buffer.
          * @function decode
@@ -6399,22 +5400,6 @@ export const RichMedia = $root.RichMedia = (() => {
             return message;
         };
 
-        /**
-         * Decodes a PicFileIdInfo message from the specified reader or buffer, length delimited.
-         * @function decodeDelimited
-         * @memberof RichMedia.PicFileIdInfo
-         * @static
-         * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
-         * @returns {RichMedia.PicFileIdInfo} PicFileIdInfo
-         * @throws {Error} If the payload is not a reader or valid buffer
-         * @throws {$protobuf.util.ProtocolError} If required fields are missing
-         */
-        PicFileIdInfo.decodeDelimited = function decodeDelimited(reader) {
-            if (!(reader instanceof $Reader))
-                reader = new $Reader(reader);
-            return this.decode(reader, reader.uint32());
-        };
-
         /**
          * Gets the default type url for PicFileIdInfo
          * @function getTypeUrl
diff --git a/src/onebot11/adapter.ts b/src/onebot11/adapter.ts
index 4bea6f8..9b1b186 100644
--- a/src/onebot11/adapter.ts
+++ b/src/onebot11/adapter.ts
@@ -15,7 +15,6 @@ import { OB11Config, Config as LLOBConfig } from '../common/types'
 import { OB11WebSocket, OB11WebSocketReverseManager } from './connect/ws'
 import { OB11Http, OB11HttpPost } from './connect/http'
 import { OB11BaseEvent } from './event/OB11BaseEvent'
-import { OB11Message } from './types'
 import { OB11BaseMetaEvent } from './event/meta/OB11BaseMetaEvent'
 import { postHttpEvent } from './helper/eventForHttp'
 import { initActionMap } from './action'
@@ -88,9 +87,9 @@ class OneBot11Adapter extends Service {
     }
   }
 
-  private async handleGroupNotify(notify: GroupNotify) {
+  private async handleGroupNotify(notify: GroupNotify, doubt: boolean) {
     try {
-      const flag = notify.group.groupCode + '|' + notify.seq + '|' + notify.type
+      const flag = `${notify.group.groupCode}|${notify.seq}|${notify.type}|${doubt === true ? '1' : '0'}`
       if ([GroupNotifyType.MemberLeaveNotifyAdmin, GroupNotifyType.KickMemberNotifyAdmin].includes(notify.type)) {
         if (notify.user2.uid) {
           this.ctx.logger.info('有群成员被踢', notify.group.groupCode, notify.user1.uid, notify.user2.uid)
@@ -338,7 +337,8 @@ class OneBot11Adapter extends Service {
       this.handleMsg(input)
     })
     this.ctx.on('nt/group-notify', input => {
-      this.handleGroupNotify(input)
+      const { doubt, notify } = input
+      this.handleGroupNotify(notify, doubt)
     })
     this.ctx.on('nt/friend-request', input => {
       this.handleFriendRequest(input)
@@ -370,12 +370,6 @@ class OneBot11Adapter extends Service {
         const userId = Number(memberUin)
         const event = new OB11GroupDecreaseEvent(tip.groupCode, userId, userId)
         this.dispatch(event)
-      } else if (msgType === 87) {
-        const tip = SysMsg.GroupInvite.decode(sysMsg.body!.msgContent!)
-        this.ctx.logger.info('群成员增加', tip)
-        const operatorUin = await this.ctx.ntUserApi.getUinByUid(tip.operatorUid)
-        const event = new OB11GroupIncreaseEvent(tip.groupCode, +selfInfo.uin, +operatorUin, 'invite')
-        this.dispatch(event)
       }
     })
   }
diff --git a/src/onebot11/entities.ts b/src/onebot11/entities.ts
index 9dac299..1f6b485 100644
--- a/src/onebot11/entities.ts
+++ b/src/onebot11/entities.ts
@@ -520,7 +520,6 @@ export namespace OB11Entities {
           ctx.logger.info('收到新人被邀请进群消息', xmlElement)
           const invitor = xmlElement.templParam.get('invitor')
           const invitee = xmlElement.templParam.get('invitee')
-          if (invitee === selfInfo.uin) return
           if (invitor && invitee) {
             return new OB11GroupIncreaseEvent(+msg.peerUid, +invitee, +invitor, 'invite')
           }
diff --git a/src/satori/adapter.ts b/src/satori/adapter.ts
index 34ed0ba..8d8a710 100644
--- a/src/satori/adapter.ts
+++ b/src/satori/adapter.ts
@@ -99,7 +99,7 @@ class SatoriAdapter extends Service {
     }
   }
 
-  async handleGroupNotify(input: NT.GroupNotify) {
+  async handleGroupNotify(input: NT.GroupNotify, doubt: boolean) {
     if (
       input.type === NT.GroupNotifyType.InvitedByMember &&
       input.status === NT.GroupNotifyStatus.Unhandle
@@ -119,14 +119,14 @@ class SatoriAdapter extends Service {
       input.status === NT.GroupNotifyStatus.Unhandle
     ) {
       // 他人主动申请,需管理员同意
-      return await parseGuildMemberRequest(this, input)
+      return await parseGuildMemberRequest(this, input, doubt)
     }
     else if (
       input.type === NT.GroupNotifyType.InvitedNeedAdminiStratorPass &&
       input.status === NT.GroupNotifyStatus.Unhandle
     ) {
       // 他人被邀请,需管理员同意
-      return await parseGuildMemberRequest(this, input)
+      return await parseGuildMemberRequest(this, input, doubt)
     }
   }
 
@@ -140,7 +140,8 @@ class SatoriAdapter extends Service {
     })
 
     this.ctx.on('nt/group-notify', async input => {
-      const event = await this.handleGroupNotify(input)
+      const { doubt, notify } = input
+      const event = await this.handleGroupNotify(notify, doubt)
         .catch(e => this.ctx.logger.error(e))
       event && this.server.dispatch(event)
     })
diff --git a/src/satori/event/member.ts b/src/satori/event/member.ts
index 5140bcd..c1b0419 100644
--- a/src/satori/event/member.ts
+++ b/src/satori/event/member.ts
@@ -46,9 +46,9 @@ export async function parseGuildMemberRemoved(bot: SatoriAdapter, input: GroupNo
   })
 }
 
-export async function parseGuildMemberRequest(bot: SatoriAdapter, input: GroupNotify) {
+export async function parseGuildMemberRequest(bot: SatoriAdapter, input: GroupNotify, doubt: boolean) {
   const groupCode = input.group.groupCode
-  const flag = groupCode + '|' + input.seq + '|' + input.type
+  const flag = `${groupCode}|${input.seq}|${input.type}|${doubt === true ? '1' : '0'}`
 
   return bot.event('guild-member-request', {
     guild: decodeGuild(input.group),