Fix group message, roomid and sender
This commit is contained in:
parent
c7f7e84a21
commit
858a77028e
@ -80,18 +80,26 @@ void DispatchMsg(DWORD reg)
|
|||||||
wxMsg.id = GetStringByAddress(*p + g_WxCalls.recvMsg.msgId);
|
wxMsg.id = GetStringByAddress(*p + g_WxCalls.recvMsg.msgId);
|
||||||
wxMsg.xml = GetStringByAddress(*p + g_WxCalls.recvMsg.msgXml);
|
wxMsg.xml = GetStringByAddress(*p + g_WxCalls.recvMsg.msgXml);
|
||||||
|
|
||||||
// 群里的系统消息,xml 为空;或者包含 <membercount>
|
string roomid = GetStringByAddress(*p + g_WxCalls.recvMsg.roomId);
|
||||||
if ((wxMsg.xml.empty()) || (wxMsg.xml.find("<membercount>") != string::npos)) {
|
if (roomid.find("@chatroom") != string::npos) { // 群 ID 的格式为 xxxxxxxxxxx@chatroom
|
||||||
wxMsg.is_group = true;
|
wxMsg.is_group = true;
|
||||||
wxMsg.sender = GetStringByAddress(*p + g_WxCalls.recvMsg.wxId);
|
wxMsg.roomid = roomid;
|
||||||
wxMsg.roomid = GetStringByAddress(*p + g_WxCalls.recvMsg.roomId);
|
if (wxMsg.is_self) {
|
||||||
|
wxMsg.sender = GetSelfWxid();
|
||||||
|
} else {
|
||||||
|
wxMsg.sender = GetStringByAddress(*p + g_WxCalls.recvMsg.wxId);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
wxMsg.is_group = false;
|
wxMsg.is_group = false;
|
||||||
wxMsg.sender = GetStringByAddress(*p + g_WxCalls.recvMsg.roomId);
|
if (wxMsg.is_self) {
|
||||||
|
wxMsg.sender = GetSelfWxid();
|
||||||
|
} else {
|
||||||
|
wxMsg.sender = roomid;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
wxMsg.content = GetStringByAddress(*p + g_WxCalls.recvMsg.content);
|
|
||||||
|
|
||||||
wxMsg.thumb = GetStringByAddress(*p + g_WxCalls.recvMsg.thumb);
|
wxMsg.content = GetStringByAddress(*p + g_WxCalls.recvMsg.content);
|
||||||
|
wxMsg.thumb = GetStringByAddress(*p + g_WxCalls.recvMsg.thumb);
|
||||||
if (!wxMsg.thumb.empty()) {
|
if (!wxMsg.thumb.empty()) {
|
||||||
wxMsg.thumb = GetHomePath() + "\\WeChat Files\\" + wxMsg.thumb;
|
wxMsg.thumb = GetHomePath() + "\\WeChat Files\\" + wxMsg.thumb;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user