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.
59 lines
1.3 KiB
JavaScript
59 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 '';
|
||
|
|
||
9 months ago
|
if (isJidGroup(number) || isJidBroadcast(number)) {
|
||
9 months ago
|
return number;
|
||
|
} else {
|
||
9 months ago
|
return jidEncode(number, S_WHATSAPP_NET);
|
||
9 months ago
|
}
|
||
|
};
|
||
|
|
||
|
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
|
||
9 months ago
|
const formatStatus = status => {
|
||
|
switch (status) {
|
||
|
case 0:
|
||
|
return 'error';
|
||
|
case 1:
|
||
|
return 'pending';
|
||
9 months ago
|
case 2:
|
||
|
return 'sent';
|
||
|
case 3:
|
||
|
return 'delivered';
|
||
|
case 4:
|
||
|
return 'read';
|
||
9 months ago
|
case 5:
|
||
9 months ago
|
return 'played';
|
||
9 months ago
|
default:
|
||
|
return `unknown(${status})`;
|
||
9 months ago
|
}
|
||
9 months ago
|
};
|
||
|
|
||
|
// Time: 2008-07-07 15:37:07
|
||
|
const formatTimestamp = timestamp => {
|
||
|
if (timestamp === null) return '';
|
||
|
|
||
|
const datetime = new Date(timestamp * 1000);
|
||
|
|
||
9 months ago
|
return `${datetime.getFullYear()}-${datetime.getMonth() + 1}-${datetime.getDate()} ${datetime.getHours()}:${datetime.getMinutes()}:${datetime.getSeconds()}`;
|
||
9 months ago
|
};
|
||
|
|
||
|
module.exports = {
|
||
|
formatTimestamp,
|
||
|
formatStatus,
|
||
|
parsePhoneNumber,
|
||
|
formatPhoneNumber,
|
||
|
};
|