diff --git a/src/ntqqapi/hook.ts b/src/ntqqapi/hook.ts
index 821cf11..b189e6f 100644
--- a/src/ntqqapi/hook.ts
+++ b/src/ntqqapi/hook.ts
@@ -268,7 +268,7 @@ registerReceiveHook<{ msgRecord: RawMessage }>(ReceiveCmd.SELF_SEND_MSG, ({msgRe
     const message = msgRecord
     const peerUid = message.peerUid
     // log("收到自己发送成功的消息", Object.keys(sendMessagePool), message);
-    // log("收到自己发送成功的消息", message.msgSeq);
+    // log("收到自己发送成功的消息", message);
     dbUtil.addMsg(message).then()
     const sendCallback = sendMessagePool[peerUid]
     if (sendCallback) {
diff --git a/src/ntqqapi/types.ts b/src/ntqqapi/types.ts
index 668f99a..e412284 100644
--- a/src/ntqqapi/types.ts
+++ b/src/ntqqapi/types.ts
@@ -233,6 +233,7 @@ export interface PicElement {
     fileSize: number;
     fileName: string;
     fileUuid: string;
+    md5HexStr?: string;
 }
 
 export interface GrayTipElement {
diff --git a/src/onebot11/action/SendMsg.ts b/src/onebot11/action/SendMsg.ts
index 4efb55d..985aeee 100644
--- a/src/onebot11/action/SendMsg.ts
+++ b/src/onebot11/action/SendMsg.ts
@@ -214,7 +214,7 @@ export class SendMsg extends BaseAction<OB11PostSendMsg, ReturnDataType> {
                         deleteAfterSentFiles
                     } = await this.createSendElements(this.convertMessage2List(messageNode.data.content), group);
                     log("开始生成转发节点", sendElements);
-                    const nodeMsg = await this.send(selfPeer, sendElements, deleteAfterSentFiles, true);
+                    const nodeMsg = await this.send(selfPeer, sendElements, deleteAfterSentFiles, false);
                     selfNodeMsgList.push(nodeMsg);
                     log("转发节点生成成功", nodeMsg.msgId);
                 } catch (e) {
@@ -368,7 +368,7 @@ export class SendMsg extends BaseAction<OB11PostSendMsg, ReturnDataType> {
         }
     }
 
-    private async send(peer: Peer, sendElements: SendMessageElement[], deleteAfterSentFiles: string[], waitComplete = false) {
+    private async send(peer: Peer, sendElements: SendMessageElement[], deleteAfterSentFiles: string[], waitComplete = true) {
         if (!sendElements.length) {
             throw ("消息体无法解析")
         }
diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts
index 4d7a210..36acf49 100644
--- a/src/onebot11/constructor.ts
+++ b/src/onebot11/constructor.ts
@@ -114,7 +114,14 @@ export class OB11Constructor {
                 // message_data["data"]["file"] = element.picElement.sourcePath
                 message_data["data"]["file"] = element.picElement.fileName
                 // message_data["data"]["path"] = element.picElement.sourcePath
-                message_data["data"]["url"] = IMAGE_HTTP_HOST + element.picElement.originImageUrl
+                const url = element.picElement.originImageUrl
+                const fileMd5 = element.picElement.md5HexStr
+                if (url){
+                    message_data["data"]["url"] = IMAGE_HTTP_HOST + url
+                }
+                else if (fileMd5){
+                    message_data["data"]["file_id"] = `${IMAGE_HTTP_HOST}/gchatpic_new/0/0-0-${fileMd5}/0`
+                }
                 // message_data["data"]["file_id"] = element.picElement.fileUuid
                 message_data["data"]["file_size"] = element.picElement.fileSize
                 fileCache.set(element.picElement.fileName, {