Closed su-chang closed 2 years ago
fromId 主动撤回消息账号的ID
fromId
toId 接收撤回消息通知账号的ID
toId
text 字段中需要存放已撤回消息的ID,即xml中的newmsgid,便于查找已撤回的消息内容
text
newmsgid
你可以参考以下代码:
const recalledPayload = await recalledPayloadParser(rawPayload) const pattern = [ /"(.+)" 撤回了一条消息/, /"(.+)" has recalled a message./, ] const patternSelf = [ /你撤回了一条消息/, /You recalled a message/, ] if (recalledPayload) { const isRecalled = pattern.some(regex => regex.test(recalledPayload.replaceMsg)) const isRecalledSelf = patternSelf.some(regex => regex.test(recalledPayload.replaceMsg)) if (isRecalled || isRecalledSelf) { text = recalledPayload.newMsgId if (isRecalledSelf) { fromId = rawPayload.from_wxid if (isRoomId(rawPayload.to_wxid)) { roomId = rawPayload.to_wxid } else if (isContactId(rawPayload.to_wxid)) { toId = rawPayload.to_wxid } } } else { payloadBase.type = MessageType.Unknown } } else { payloadBase.type = MessageType.Unknown }
go-wechaty 使用 padlocal puppet 也遇到了这个问题: https://github.com/wechaty/go-wechaty/issues/87
Thanks for your hints. Fixed and will be release in version wechaty-puppet-padlocal@1.11.19
fromId
主动撤回消息账号的IDtoId
接收撤回消息通知账号的IDtext
字段中需要存放已撤回消息的ID,即xml中的newmsgid
,便于查找已撤回的消息内容你可以参考以下代码: