@mengkodingan/ckptw
Version:
Create powerful WhatsApp bots easily
111 lines (110 loc) • 5.91 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeRealInteractiveMessage = exports.decodeJid = exports.walk = exports.getSender = exports.getContentFromMsg = exports.arrayMove = void 0;
const baileys_1 = require("@whiskeysockets/baileys");
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const arrayMove = (arr, old_index, new_index) => {
if (new_index >= arr.length) {
let k = new_index - arr.length + 1;
while (k--) {
arr.push(undefined);
}
}
arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);
return arr;
};
exports.arrayMove = arrayMove;
const getContentFromMsg = (msg) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
const type = (0, baileys_1.getContentType)(msg.message);
switch (type) {
case "conversation":
return (_a = msg.message) === null || _a === void 0 ? void 0 : _a.conversation;
case "imageMessage":
return (_c = (_b = msg.message) === null || _b === void 0 ? void 0 : _b.imageMessage) === null || _c === void 0 ? void 0 : _c.caption;
case "documentMessage":
return (_e = (_d = msg.message) === null || _d === void 0 ? void 0 : _d.documentMessage) === null || _e === void 0 ? void 0 : _e.caption;
case "videoMessage":
return (_g = (_f = msg.message) === null || _f === void 0 ? void 0 : _f.videoMessage) === null || _g === void 0 ? void 0 : _g.caption;
case "extendedTextMessage":
return (_j = (_h = msg.message) === null || _h === void 0 ? void 0 : _h.extendedTextMessage) === null || _j === void 0 ? void 0 : _j.text;
case "listResponseMessage":
return (_m = (_l = (_k = msg.message) === null || _k === void 0 ? void 0 : _k.listResponseMessage) === null || _l === void 0 ? void 0 : _l.singleSelectReply) === null || _m === void 0 ? void 0 : _m.selectedRowId;
case "buttonsResponseMessage":
return (_p = (_o = msg.message) === null || _o === void 0 ? void 0 : _o.buttonsResponseMessage) === null || _p === void 0 ? void 0 : _p.selectedButtonId;
case "templateButtonReplyMessage":
return (_r = (_q = msg.message) === null || _q === void 0 ? void 0 : _q.templateButtonReplyMessage) === null || _r === void 0 ? void 0 : _r.selectedId;
case "interactiveResponseMessage":
return (_v = JSON.parse((_u = (_t = (_s = msg.message) === null || _s === void 0 ? void 0 : _s.interactiveResponseMessage) === null || _t === void 0 ? void 0 : _t.nativeFlowResponseMessage) === null || _u === void 0 ? void 0 : _u.paramsJson)) === null || _v === void 0 ? void 0 : _v.id;
case "messageContextInfo":
return (((_x = (_w = msg.message) === null || _w === void 0 ? void 0 : _w.buttonsResponseMessage) === null || _x === void 0 ? void 0 : _x.selectedButtonId) ||
((_0 = (_z = (_y = msg.message) === null || _y === void 0 ? void 0 : _y.listResponseMessage) === null || _z === void 0 ? void 0 : _z.singleSelectReply) === null || _0 === void 0 ? void 0 : _0.selectedRowId) ||
((_2 = (_1 = msg.message) === null || _1 === void 0 ? void 0 : _1.interactiveResponseMessage) === null || _2 === void 0 ? void 0 : _2.nativeFlowResponseMessage));
default:
return "";
}
};
exports.getContentFromMsg = getContentFromMsg;
const getSender = (msg, client) => {
var _a;
return msg.key.fromMe
? (_a = client.user) === null || _a === void 0 ? void 0 : _a.id
: msg.participant
? msg.participant
: msg.key.participant
? msg.key.participant
: msg.key.remoteJid;
};
exports.getSender = getSender;
const walk = (dir, callback) => {
const files = fs_1.default.readdirSync(dir);
files.forEach((file) => {
var filepath = path_1.default.join(dir, file);
const stats = fs_1.default.statSync(filepath);
if (stats.isDirectory()) {
module.exports.walk(filepath, callback);
}
else if (stats.isFile()) {
callback(filepath, stats);
}
});
};
exports.walk = walk;
const decodeJid = (jid) => {
if (!jid)
return jid;
if (/:\d+@/gi.test(jid)) {
let decode = (0, baileys_1.jidDecode)(jid);
return (((decode === null || decode === void 0 ? void 0 : decode.user) && decode.server && decode.user + "@" + decode.server) || jid);
}
else
return jid;
};
exports.decodeJid = decodeJid;
const makeRealInteractiveMessage = (content) => {
let contentReal = {};
Object.keys(content).map((x) => {
if (x === 'body') {
contentReal['body'] = baileys_1.proto.Message.InteractiveMessage.Body.create({ text: content.body });
}
else if (x === 'footer') {
contentReal['footer'] = baileys_1.proto.Message.InteractiveMessage.Footer.create({ text: content.footer });
}
else if (x === 'contextInfo') {
contentReal['contextInfo'] = content['contextInfo'];
}
else if (x === 'shopStorefrontMessage') {
contentReal['shopStorefrontMessage'] = baileys_1.proto.Message.InteractiveMessage.ShopMessage.create(content['shopStorefrontMessage']);
}
else {
let prop = baileys_1.proto.Message.InteractiveMessage[x.charAt(0).toUpperCase() + x.slice(1)];
contentReal[x] = prop.create(content[x]);
}
});
return contentReal;
};
exports.makeRealInteractiveMessage = makeRealInteractiveMessage;