const { isJidUser, isJidGroup, isJidBroadcast, jidEncode, jidDecode, S_WHATSAPP_NET } = require('@whiskeysockets/baileys'); const formatPhoneNumber = number => { if (number === null || number === undefined) return ''; if (isJidGroup(number) || isJidBroadcast(number)) { return number; } else { return jidEncode(number, S_WHATSAPP_NET); } }; const parsePhoneNumber = number => { if (number === null || number === undefined) return ''; if (isJidUser(number)) { return jidDecode(number).user; } else { return number; } }; // status: sent read delivered failed // 2 sent, 3 delivered, 4 read, 0 error const formatStatus = status => { switch (status) { case 0: return 'error'; case 1: return 'pending'; case 2: return 'sent'; case 3: return 'delivered'; case 4: return 'read'; case 5: return 'played'; default: return `unknown(${status})`; } }; // Time: 2008-07-07 15:37:07 const formatTimestamp = timestamp => { if (timestamp === null) return ''; const datetime = new Date(timestamp * 1000); return `${datetime.getFullYear()}-${datetime.getMonth() + 1}-${datetime.getDate()} ${datetime.getHours()}:${datetime.getMinutes()}:${datetime.getSeconds()}`; }; module.exports = { formatTimestamp, formatStatus, parsePhoneNumber, formatPhoneNumber, };