mirror of
https://gitlab.com/sarlink/kyc.git
synced 2025-02-23 04:42:03 +00:00
55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
const fs = require("fs")
|
|
const FormData = require('form-data');
|
|
const axios = require('axios').default;
|
|
|
|
function kebabToTitleCase(str) {
|
|
return str.split("_").map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(" ")
|
|
}
|
|
|
|
async function sendInfo(filepath, details) {
|
|
// const caption = `Customer Name: \`${customer_name}\`\nMAC Address: \`${mac_address}\`\nDevice Name: \`${device_name}\`\nRoaming: **${roaming ? "Yes" : "No"}**\nGaming: **${gaming ? "Yes" : "No"}**`
|
|
let caption = "";
|
|
let manualHandles = ["mac_address", "device_name", "is_roaming", "is_gaming"];
|
|
for (const key in details) {
|
|
if (manualHandles.includes(key)) continue;
|
|
|
|
if (key.startsWith("is")) {
|
|
details[key] = details[key] ? "Yes" : "No"
|
|
caption += `${kebabToTitleCase(key)}: **${details[key]}**\n`
|
|
continue;
|
|
}
|
|
|
|
caption += `${kebabToTitleCase(key)}: \`${details[key]}\`\n`
|
|
}
|
|
|
|
let macAddresses = details["mac_address"].split(",");
|
|
let deviceNames = details["device_name"].split(",");
|
|
let isRoaming = details["is_roaming"].split(",");
|
|
let isGaming = details["is_gaming"].split(",");
|
|
caption += macAddresses.map((macAddress, index) => `\n\`${deviceNames[index]}\`\nMAC Address: \`${macAddress}\`\nIs Roaming: **${isRoaming[index] === "true" ? "Yes" : "No"}**\nIs Gaming: **${isGaming[index] === "true" ? "Yes" : "No"}**`).join("\n");
|
|
|
|
caption = caption.replace(/-/g, '\\-')
|
|
|
|
var formData = new FormData();
|
|
formData.append("photo", fs.createReadStream(filepath));
|
|
|
|
const query = new URLSearchParams();
|
|
query.append("chat_id", process.env.TELEGRAM_CHAT_ID);
|
|
query.append("caption", caption);
|
|
query.append("parse_mode", "MarkdownV2");
|
|
|
|
// upload file to telegram using axios
|
|
const response = await axios.post(`${process.env.TG_BOTAPI}${process.env.TELEGRAM_BOT_TOKEN}/sendPhoto?${query.toString()}`, formData, {
|
|
headers: {
|
|
'Content-Type': 'multipart/form-data'
|
|
}
|
|
})
|
|
|
|
if (response.status !== 200) {
|
|
console.log(response.data)
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
sendInfo
|
|
} |