You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

71 lines
1.7 KiB

const fs = require('fs');
async function send_message(client, to, message) {
let res;
await client
.sendText(to, message)
.then((result) => {
console.log('success sending message');
res = {result: result, code: 200};
})
.catch((erro) => {
console.error('error while sending message')
res = {result: erro, code: 500};
});
return res
}
async function send_image(client, to, base64_image, name, caption = '') {
let res
await client
.sendImageFromBase64(to, base64_image, name, caption)
.then((result) => {
console.log('success sending image');
res = {result: result, code: 200};
})
.catch((erro) => {
console.error('error while sending image');
res = {result: erro, code: 500};
});
return res;
}
async function get_all_chats(client) {
let res;
await client
.getAllChats()
.then((result) => {
res = {result: result, code: 200};
})
.catch((erro) => {
res = {result: erro, code: 500};
});
return res;
}
function base64ToFile(base64, filePath) {
// Remove the Base64 prefix if it exists
const base64Data = base64.replace(/^data:image\/\w+;base64,/, '');
// Decode the Base64 string
const binaryData = Buffer.from(base64Data, 'base64');
// Write the binary data to a file
fs.writeFile(filePath, binaryData, (err) => {
if (err) {
console.error('Error writing file:', err);
return false
} else {
console.log('File saved successfully:', filePath);
return true
}
});
}
module.exports = { send_message, send_image, get_all_chats, base64ToFile }