You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
9 months ago
|
const { isJidUser, isJidGroup, isJidBroadcast, jidEncode, jidDecode, S_WHATSAPP_NET } = require('@whiskeysockets/baileys');
|
||
|
|
||
|
const formatPhoneNumber = number => {
|
||
|
if (number === null || number === undefined) return '';
|
||
|
|
||
|
if (isJidGroup(number)) {
|
||
|
return number;
|
||
|
} else if (isJidBroadcast(number)) {
|
||
|
return number;
|
||
|
} else {
|
||
|
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 = number => {
|
||
|
if (number === 2) return 'sent';
|
||
|
else if (number === 3) return 'delivered';
|
||
|
else if (number === 4) return 'read';
|
||
|
else if (number === 0) return 'error';
|
||
|
else return 'played';
|
||
|
};
|
||
|
|
||
|
// 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.getDay() + ' ' + datetime.getHours() + ':' + datetime.getMinutes() + ':' + datetime.getSeconds();
|
||
|
};
|
||
|
|
||
|
module.exports = {
|
||
|
formatTimestamp,
|
||
|
formatStatus,
|
||
|
parsePhoneNumber,
|
||
|
formatPhoneNumber,
|
||
|
};
|