New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Transpond Message #726

Closed
binsee opened this Issue Aug 12, 2017 · 15 comments

Comments

2 participants
@binsee
Member

binsee commented Aug 12, 2017

PR: #727

Read the page code, see the official forwarding message implementation code.
And this code is very simple, you can easily in a formal way to achieve forwarding messages, such as the direct forwarding of the received file.

angular.module("Controllers").controller("transpondDialogController", ["$rootScope", "$scope", "$timeout", "$state", "$log", "$document", "chatFactory", "contactFactory", "appFactory", "chatroomFactory", "confFactory", "mmpop", "ngDialog", "utilFactory", "stateManageService", "accountFactory",
  function(e, t, a, n, i, o, chatFactory, c, s, l, confFactory, f, u, m, g, accountFactory) {
    function h(msg, userName) {
      if (e.MsgType != confFactory.MSGTYPE_SYS) {
        var newMsg = angular.copy(msg);
        newMsg.ToUserName = userName;
        newMsg.FromUserName = accountFactory.getUserName();
        newMsg.isTranspond = !0;
        newMsg.MsgIdBeforeTranspond = msg.MsgIdBeforeTranspond || msg.MsgId;
        newMsg._h = void 0;
        newMsg._offsetTop = void 0;
        newMsg.MMSourceMsgId = msg.MsgId;
        newMsg.Scene = 2;
        newMsg = chatFactory.createMessage(newMsg);
        newMsg.sendByLocal = !1;
        newMsg.Content = m.htmlDecode(newMsg.Content.replace(/^@\w+:<br\/>/, ""));
        newMsg.MMActualSender = accountFactory.getUserName();
        newMsg.MMSendContent && (newMsg.MMSendContent = newMsg.MMSendContent.replace(/^@\w+:\s/, ""));
        newMsg.MMDigest && (newMsg.MMDigest = newMsg.MMDigest.replace(/^@\w+:/, ""));
        newMsg.MMActualContent && (newMsg.MMActualContent = m.clearHtmlStr(newMsg.MMActualContent.replace(/^@\w+:<br\/>/, "")));

        chatFactory.appendMessage(newMsg);
        chatFactory.sendMessage(newMsg)
      }
    }

// ...........

Use:

id='' // roomId or userId
// Room.toString()
// Contact.id
// Message.from()
bot.on('message',async m => {
     m.transpond(id)
}) 
@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 12, 2017

Member

Upload the branch later

Member

binsee commented Aug 12, 2017

Upload the branch later

@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 12, 2017

Member

This support involves Reconstruction MediaMessage #724, because need to consider where to build the original data structure.

The current build data is to call the chatFactory.createMessage() method via webchaty-bro.
Either the text of the message, or the Rich Media MediaMessage. However, there is a problem with the call in MediaMessage.

Forwarding features that need to skip the call, but contrary to the current data isolation scheme.

Member

binsee commented Aug 12, 2017

This support involves Reconstruction MediaMessage #724, because need to consider where to build the original data structure.

The current build data is to call the chatFactory.createMessage() method via webchaty-bro.
Either the text of the message, or the Rich Media MediaMessage. However, there is a problem with the call in MediaMessage.

Forwarding features that need to skip the call, but contrary to the current data isolation scheme.

@zixia

This comment has been minimized.

Show comment
Hide comment
@zixia

zixia Aug 12, 2017

Member

Great achievement!

Please see #200, I suggest to use forward() as the method name because it's very straight forward.

Member

zixia commented Aug 12, 2017

Great achievement!

Please see #200, I suggest to use forward() as the method name because it's very straight forward.

@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 13, 2017

Member

@zixia The code used forward, See #727

Member

binsee commented Aug 13, 2017

@zixia The code used forward, See #727

@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 13, 2017

Member

discuss:
WeChat server for more than 25Mb of the document, asked to re-upload, can not be directly forwarded.
Should I detect file size in forward (), throw exception if it exceeds 25Mb?

Member

binsee commented Aug 13, 2017

discuss:
WeChat server for more than 25Mb of the document, asked to re-upload, can not be directly forwarded.
Should I detect file size in forward (), throw exception if it exceeds 25Mb?

@zixia

This comment has been minimized.

Show comment
Hide comment
@zixia

zixia Aug 13, 2017

Member

Thanks.

About the size limit: my suggestion is to re-upload automatically with a verbose log message.

Member

zixia commented Aug 13, 2017

Thanks.

About the size limit: my suggestion is to re-upload automatically with a verbose log message.

@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 13, 2017

Member

I think that the document beyond the limits should be implemented on its own.

But because there is no test upload 25Mb get MediaId whether multiple multiplexing in the message, it can not be conclusive.

I will supplement the information after the test.

Member

binsee commented Aug 13, 2017

I think that the document beyond the limits should be implemented on its own.

But because there is no test upload 25Mb get MediaId whether multiple multiplexing in the message, it can not be conclusive.

I will supplement the information after the test.

@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 13, 2017

Member

Known issues:
Forward the message within the group, forward the message will be "@ id:" prefix

Append:
fixed, see ce678a3

Member

binsee commented Aug 13, 2017

Known issues:
Forward the message within the group, forward the message will be "@ id:" prefix

Append:
fixed, see ce678a3

@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 16, 2017

Member

Add the Forward Message Source Settings option, see 09511eb

Use:

m.forward(Room.load(id), { user: '$USER', room: 'Room[$ROOM]', custom: 'forward from $ROOM$USER' })

// source message: 'test msg'
// from room: 'testRoom'
// from user: 'Bot'
// forward message: `forward from Room[testRoom]Bot:\ntest msg`

example:

m.forward(Room.load(id), { room: '群[$ROOM]', custom: '转发消息来自 $ROOM$USER' })

image

Member

binsee commented Aug 16, 2017

Add the Forward Message Source Settings option, see 09511eb

Use:

m.forward(Room.load(id), { user: '$USER', room: 'Room[$ROOM]', custom: 'forward from $ROOM$USER' })

// source message: 'test msg'
// from room: 'testRoom'
// from user: 'Bot'
// forward message: `forward from Room[testRoom]Bot:\ntest msg`

example:

m.forward(Room.load(id), { room: '群[$ROOM]', custom: '转发消息来自 $ROOM$USER' })

image

@zixia

This comment has been minimized.

Show comment
Hide comment
@zixia

zixia Aug 16, 2017

Member

I do not understand about the design of m.forward(Room.load(id), { room: '群[$ROOM]', custom: '转发消息来自 $ROOM$USER' }), it looks very complicated and hard to understand at the first sight.

Does this design for forwarding a TEXT message?

I do not think forward a text message is necessary, because we can be easy to just say() it without any problem.

The power of forward is dealing with the attachments, which should belong to the MediaMessage.

Please correct me if I missed any point.

Member

zixia commented Aug 16, 2017

I do not understand about the design of m.forward(Room.load(id), { room: '群[$ROOM]', custom: '转发消息来自 $ROOM$USER' }), it looks very complicated and hard to understand at the first sight.

Does this design for forwarding a TEXT message?

I do not think forward a text message is necessary, because we can be easy to just say() it without any problem.

The power of forward is dealing with the attachments, which should belong to the MediaMessage.

Please correct me if I missed any point.

@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 16, 2017

Member

This design is not intuitive.
If you want to remove this design, I would like forward can only be used to forward Media message.

Member

binsee commented Aug 16, 2017

This design is not intuitive.
If you want to remove this design, I would like forward can only be used to forward Media message.

@zixia

This comment has been minimized.

Show comment
Hide comment
@zixia

zixia Aug 17, 2017

Member

Yes, my suggestion is to:

  1. move forward to MediaMessage only, because that would be really helpful for dealing with the attachment files.
  2. if we want to forward a Message, which means it is a text message, we can easily archive the same result by constructing a new string for the message, like the following code snip:
const forwardMsg = `转发消息来自${room}${user}\n$content`
await forwardRoom.say(forwardMsg)

Which is more straight forward, and also keep the API to be simple and be easy understand.

  1. we can identify the Message and MediaMessage by using instanceof in message event listener.
    Full code will like this:
on('message', async m => {
  const from = m.from()
  const room = m.room()
  const content = m.content()
  const fwdMsg = `转发消息来自${room}${user}\n$content`
  const fwdRoom = await Room.find('测试群')
  await fwdRoom.say(fwdMessage)
  if (m instanceof MediaMessage) {
    await m.forward(fwdRoom)
  }
})
Member

zixia commented Aug 17, 2017

Yes, my suggestion is to:

  1. move forward to MediaMessage only, because that would be really helpful for dealing with the attachment files.
  2. if we want to forward a Message, which means it is a text message, we can easily archive the same result by constructing a new string for the message, like the following code snip:
const forwardMsg = `转发消息来自${room}${user}\n$content`
await forwardRoom.say(forwardMsg)

Which is more straight forward, and also keep the API to be simple and be easy understand.

  1. we can identify the Message and MediaMessage by using instanceof in message event listener.
    Full code will like this:
on('message', async m => {
  const from = m.from()
  const room = m.room()
  const content = m.content()
  const fwdMsg = `转发消息来自${room}${user}\n$content`
  const fwdRoom = await Room.find('测试群')
  await fwdRoom.say(fwdMessage)
  if (m instanceof MediaMessage) {
    await m.forward(fwdRoom)
  }
})
@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 17, 2017

Member

moved forward() from class Message to MediaMessage.
ea3e638

Member

binsee commented Aug 17, 2017

moved forward() from class Message to MediaMessage.
ea3e638

@zixia

This comment has been minimized.

Show comment
Hide comment
@zixia

zixia Aug 17, 2017

Member

Awesome!

Member

zixia commented Aug 17, 2017

Awesome!

@binsee

This comment has been minimized.

Show comment
Hide comment
@binsee

binsee Aug 17, 2017

Member

forward video msg of room, self() error.

fixed. see 5f8503d


Source message:

{
    "MsgId": "7260447353854539463",
    "FromUserName": "@@b68fedf16780319782fdc811ac36f92020170c03e891c71f2cbd70b245485955",
    "ToUserName": "@1b989a94322535c99ca4b57ca6aad061e3fe1bbd02669e7a5ebf219966e78c3a",
    "MsgType": 43,
    "Content": "@679a273e8af7607d231fe6d3b0b7a973:<br/>binsee:<br/>&lt;?xml version=\"1.0\"?&gt;<br/>&lt;msg&gt;<br/>\t&lt;videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\" fromusername=\"binsee\" md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /&gt;<br/>&lt;/msg&gt;<br/>",
    "MMDigest": "杉木:[视频]",
    "MMIsChatRoom": true,
    "MMUnread": true,
    "MMActualContent": "binsee:<br/>&lt;?xml version=\"1.0\"?&gt;<br/>&lt;msg&gt;<br/>\t&lt;videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\" fromusername=\"binsee\" md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /&gt;<br/>&lt;/msg&gt;<br/>",
    "MMActualSender": "@679a273e8af7607d231fe6d3b0b7a973",
}

Received message, not fixed before the forward message:

{
    "FromUserName": "@1b989a94322535c99ca4b57ca6aad061e3fe1bbd02669e7a5ebf219966e78c3a",
    "ToUserName": "@@63fa5f8fb57b556a9909fc1163b376edc4c04cfd6fe148c23c6215d414b93118",
    "MsgType": 43,
    "Content": "binsee:<br/><?xml version=\"1.0\"?><br/><msg><br/>\t<videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\"  md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /><br/></msg><br/>",
    "MMDigest": "[视频]",
    "MMIsChatRoom": true,
    "MMActualContent": "<?xml version=\"1.0\"?><br/><msg><br/>\t<videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\"  md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /><br/></msg><br/>",
    "MMActualSender": "binsee",
}

Received message, fixed before the forward message:

{
    "FromUserName": "@1b989a94322535c99ca4b57ca6aad061e3fe1bbd02669e7a5ebf219966e78c3a",
    "ToUserName": "@@63fa5f8fb57b556a9909fc1163b376edc4c04cfd6fe148c23c6215d414b93118",
    "MsgType": 43,
    "Content": "<?xml version=\"1.0\"?><br/><msg><br/>\t<videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\"  md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /><br/></msg><br/>",
    "MMDigest": "[视频]",
    "MMIsChatRoom": true,
    "MMActualContent": "<?xml version=\"1.0\"?><br/><msg><br/>\t<videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\"  md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /><br/></msg><br/>",
    "MMActualSender": "@1b989a94322535c99ca4b57ca6aad061e3fe1bbd02669e7a5ebf219966e78c3a",
}
Member

binsee commented Aug 17, 2017

forward video msg of room, self() error.

fixed. see 5f8503d


Source message:

{
    "MsgId": "7260447353854539463",
    "FromUserName": "@@b68fedf16780319782fdc811ac36f92020170c03e891c71f2cbd70b245485955",
    "ToUserName": "@1b989a94322535c99ca4b57ca6aad061e3fe1bbd02669e7a5ebf219966e78c3a",
    "MsgType": 43,
    "Content": "@679a273e8af7607d231fe6d3b0b7a973:<br/>binsee:<br/>&lt;?xml version=\"1.0\"?&gt;<br/>&lt;msg&gt;<br/>\t&lt;videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\" fromusername=\"binsee\" md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /&gt;<br/>&lt;/msg&gt;<br/>",
    "MMDigest": "杉木:[视频]",
    "MMIsChatRoom": true,
    "MMUnread": true,
    "MMActualContent": "binsee:<br/>&lt;?xml version=\"1.0\"?&gt;<br/>&lt;msg&gt;<br/>\t&lt;videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\" fromusername=\"binsee\" md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /&gt;<br/>&lt;/msg&gt;<br/>",
    "MMActualSender": "@679a273e8af7607d231fe6d3b0b7a973",
}

Received message, not fixed before the forward message:

{
    "FromUserName": "@1b989a94322535c99ca4b57ca6aad061e3fe1bbd02669e7a5ebf219966e78c3a",
    "ToUserName": "@@63fa5f8fb57b556a9909fc1163b376edc4c04cfd6fe148c23c6215d414b93118",
    "MsgType": 43,
    "Content": "binsee:<br/><?xml version=\"1.0\"?><br/><msg><br/>\t<videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\"  md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /><br/></msg><br/>",
    "MMDigest": "[视频]",
    "MMIsChatRoom": true,
    "MMActualContent": "<?xml version=\"1.0\"?><br/><msg><br/>\t<videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\"  md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /><br/></msg><br/>",
    "MMActualSender": "binsee",
}

Received message, fixed before the forward message:

{
    "FromUserName": "@1b989a94322535c99ca4b57ca6aad061e3fe1bbd02669e7a5ebf219966e78c3a",
    "ToUserName": "@@63fa5f8fb57b556a9909fc1163b376edc4c04cfd6fe148c23c6215d414b93118",
    "MsgType": 43,
    "Content": "<?xml version=\"1.0\"?><br/><msg><br/>\t<videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\"  md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /><br/></msg><br/>",
    "MMDigest": "[视频]",
    "MMIsChatRoom": true,
    "MMActualContent": "<?xml version=\"1.0\"?><br/><msg><br/>\t<videomsg aeskey=\"ad58c1552255441f99f54402921ba394\" cdnthumbaeskey=\"ad58c1552255441f99f54402921ba394\" cdnvideourl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" cdnthumburl=\"304c020100044530430201000204a47b558302032f54cd02048f3da17b020459952b7504213135636230363065343638353862663162613131626339333562613435646336320201000201000400\" length=\"224851\" playlength=\"6\" cdnthumblength=\"2499\" cdnthumbwidth=\"0\" cdnthumbheight=\"0\"  md5=\"f25c4100762d7f906b657dcf12d72722\" newmd5=\"a69d63037b2c0be9dedcd5fa66720d78\" isad=\"0\" /><br/></msg><br/>",
    "MMActualSender": "@1b989a94322535c99ca4b57ca6aad061e3fe1bbd02669e7a5ebf219966e78c3a",
}

binsee added a commit to binsee/wechaty that referenced this issue Aug 18, 2017

@zixia zixia closed this in 4957489 Sep 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment