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
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 } |