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
const { isJidUser, isJidGroup, isJidBroadcast, jidDecode, S_WHATSAPP_NET } = require('@whiskeysockets/baileys');
|
|
|
|
const encodeJid = number => {
|
|
if (number === null || number === undefined) return '';
|
|
|
|
if (number.indexOf('@') > -1) {
|
|
return number;
|
|
} else {
|
|
return number + S_WHATSAPP_NET;
|
|
}
|
|
};
|
|
|
|
const decodeJid = 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,
|
|
encodeJid,
|
|
decodeJid,
|
|
};
|