MCPcopy Index your code
hub / github.com/Maccoder3/MAC-MD / sms

Function sms

lib/msg.js:57–123  ·  view source on GitHub ↗
(conn, m)

Source from the content-addressed store, hash-verified

55}
56
57const 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 })

Callers 1

connectToWAFunction · 0.85

Calls 1

downloadMediaMessageFunction · 0.85

Tested by

no test coverage detected