| 1254 | * @param {Boolean} hasParent |
| 1255 | */ |
| 1256 | export function smsg(conn, m, hasParent) { |
| 1257 | if (!m) return m |
| 1258 | /** |
| 1259 | * @type {import('@whiskeysockets/baileys').proto.WebMessageInfo} |
| 1260 | */ |
| 1261 | let M = proto.WebMessageInfo |
| 1262 | m = M.fromObject(m) |
| 1263 | m.conn = conn |
| 1264 | let protocolMessageKey |
| 1265 | if (m.message) { |
| 1266 | if (m.mtype == 'protocolMessage' && m.msg.key) { |
| 1267 | protocolMessageKey = m.msg.key |
| 1268 | if (protocolMessageKey == 'status@broadcast') protocolMessageKey.remoteJid = m.chat |
| 1269 | if (!protocolMessageKey.participant || protocolMessageKey.participant == 'status_me') |
| 1270 | protocolMessageKey.participant = m.sender |
| 1271 | protocolMessageKey.fromMe = |
| 1272 | conn.decodeJid(protocolMessageKey.participant) === conn.decodeJid(conn.user.id) |
| 1273 | if ( |
| 1274 | !protocolMessageKey.fromMe && |
| 1275 | protocolMessageKey.remoteJid === conn.decodeJid(conn.user.id) |
| 1276 | ) |
| 1277 | protocolMessageKey.remoteJid = m.sender |
| 1278 | } |
| 1279 | if (m.quoted) if (!m.quoted.mediaMessage) delete m.quoted.download |
| 1280 | } |
| 1281 | if (!m.mediaMessage) delete m.download |
| 1282 | |
| 1283 | try { |
| 1284 | if (protocolMessageKey && m.mtype == 'protocolMessage') |
| 1285 | conn.ev.emit('message.delete', protocolMessageKey) |
| 1286 | } catch (e) { |
| 1287 | console.error(e) |
| 1288 | } |
| 1289 | return m |
| 1290 | } |
| 1291 | |
| 1292 | // https://github.com/Nurutomo/wabot-aq/issues/490 |
| 1293 | export function serialize() { |