(conn, m)
| 55 | } |
| 56 | |
| 57 | const sms = (conn, m) => { |
| 58 | if (m.key) { |
| 59 | m.id = m.key.id |
| 60 | m.chat = m.key.remoteJid |
| 61 | m.fromMe = m.key.fromMe |
| 62 | m.isGroup = m.chat.endsWith('@g.us') |
| 63 | m.sender = m.fromMe ? conn.user.id.split(':')[0]+'@s.whatsapp.net' : m.isGroup ? m.key.participant : m.key.remoteJid |
| 64 | } |
| 65 | if (m.message) { |
| 66 | m.type = getContentType(m.message) |
| 67 | m.msg = (m.type === 'viewOnceMessage') ? m.message[m.type].message[getContentType(m.message[m.type].message)] : m.message[m.type] |
| 68 | if (m.msg) { |
| 69 | if (m.type === 'viewOnceMessage') { |
| 70 | m.msg.type = getContentType(m.message[m.type].message) |
| 71 | } |
| 72 | var quotedMention = m.msg.contextInfo != null ? m.msg.contextInfo.participant : '' |
| 73 | var tagMention = m.msg.contextInfo != null ? m.msg.contextInfo.mentionedJid : [] |
| 74 | var mention = typeof(tagMention) == 'string' ? [tagMention] : tagMention |
| 75 | mention != undefined ? mention.push(quotedMention) : [] |
| 76 | m.mentionUser = mention != undefined ? mention.filter(x => x) : [] |
| 77 | m.body = (m.type === 'conversation') ? m.msg : (m.type === 'extendedTextMessage') ? m.msg.text : (m.type == 'imageMessage') && m.msg.caption ? m.msg.caption : (m.type == 'videoMessage') && m.msg.caption ? m.msg.caption : (m.type == 'templateButtonReplyMessage') && m.msg.selectedId ? m.msg.selectedId : (m.type == 'buttonsResponseMessage') && m.msg.selectedButtonId ? m.msg.selectedButtonId : '' |
| 78 | m.quoted = m.msg.contextInfo != undefined ? m.msg.contextInfo.quotedMessage : null |
| 79 | if (m.quoted) { |
| 80 | m.quoted.type = getContentType(m.quoted) |
| 81 | m.quoted.id = m.msg.contextInfo.stanzaId |
| 82 | m.quoted.sender = m.msg.contextInfo.participant |
| 83 | m.quoted.fromMe = m.quoted.sender.split('@')[0].includes(conn.user.id.split(':')[0]) |
| 84 | m.quoted.msg = (m.quoted.type === 'viewOnceMessage') ? m.quoted[m.quoted.type].message[getContentType(m.quoted[m.quoted.type].message)] : m.quoted[m.quoted.type] |
| 85 | if (m.quoted.type === 'viewOnceMessage') { |
| 86 | m.quoted.msg.type = getContentType(m.quoted[m.quoted.type].message) |
| 87 | } |
| 88 | var quoted_quotedMention = m.quoted.msg.contextInfo != null ? m.quoted.msg.contextInfo.participant : '' |
| 89 | var quoted_tagMention = m.quoted.msg.contextInfo != null ? m.quoted.msg.contextInfo.mentionedJid : [] |
| 90 | var quoted_mention = typeof(quoted_tagMention) == 'string' ? [quoted_tagMention] : quoted_tagMention |
| 91 | quoted_mention != undefined ? quoted_mention.push(quoted_quotedMention) : [] |
| 92 | m.quoted.mentionUser = quoted_mention != undefined ? quoted_mention.filter(x => x) : [] |
| 93 | m.quoted.fakeObj = proto.WebMessageInfo.fromObject({ |
| 94 | key: { |
| 95 | remoteJid: m.chat, |
| 96 | fromMe: m.quoted.fromMe, |
| 97 | id: m.quoted.id, |
| 98 | participant: m.quoted.sender |
| 99 | }, |
| 100 | message: m.quoted |
| 101 | }) |
| 102 | m.quoted.download = (filename) => downloadMediaMessage(m.quoted, filename) |
| 103 | m.quoted.delete = () => conn.sendMessage(m.chat, { delete: m.quoted.fakeObj.key }) |
| 104 | m.quoted.react = (emoji) => conn.sendMessage(m.chat, { react: { text: emoji, key: m.quoted.fakeObj.key } }) |
| 105 | } |
| 106 | } |
| 107 | m.download = (filename) => downloadMediaMessage(m, filename) |
| 108 | } |
| 109 | |
| 110 | m.reply = (teks, id = m.chat, option = { mentions: [m.sender] }) => conn.sendMessage(id, { text: teks, contextInfo: { mentionedJid: option.mentions } }, { quoted: m }) |
| 111 | m.replyS = (stik, id = m.chat, option = { mentions: [m.sender] }) => conn.sendMessage(id, { sticker: stik, contextInfo: { mentionedJid: option.mentions } }, { quoted: m }) |
| 112 | m.replyImg = (img, teks, id = m.chat, option = { mentions: [m.sender] }) => conn.sendMessage(id, { image: img, caption: teks, contextInfo: { mentionedJid: option.mentions } }, { quoted: m }) |
| 113 | m.replyVid = (vid, teks, id = m.chat, option = { mentions: [m.sender], gif: false }) => conn.sendMessage(id, { video: vid, caption: teks, gifPlayback: option.gif, contextInfo: { mentionedJid: option.mentions } }, { quoted: m }) |
| 114 | m.replyAud = (aud, id = m.chat, option = { mentions: [m.sender], ptt: false }) => conn.sendMessage(id, { audio: aud, ptt: option.ptt, mimetype: 'audio/mpeg', contextInfo: { mentionedJid: option.mentions } }, { quoted: m }) |
no test coverage detected