IT UPLOADS!
This commit is contained in:
parent
8fceb4300d
commit
84d4c64ec0
23
index.js
23
index.js
|
@ -85,7 +85,7 @@ const pbxClient = new FreepbxGqlClient(config.freepbx.url, {
|
||||||
|
|
||||||
// Setup Discord client
|
// Setup Discord client
|
||||||
const Discord = require("discord.js");
|
const Discord = require("discord.js");
|
||||||
const client = new Discord.Client({ intents: ["Guilds", "GuildMembers"] });
|
const client = new Discord.Client({ intents: ["Guilds", "GuildMembers", "DirectMessages"] });
|
||||||
|
|
||||||
// Setup filesystem monitoring (for new voicemail)
|
// Setup filesystem monitoring (for new voicemail)
|
||||||
const chokidar = require("chokidar");
|
const chokidar = require("chokidar");
|
||||||
|
@ -109,26 +109,33 @@ watcher.on("add", async (filePath, stats) => {
|
||||||
let extData = await lookupExtension(vmData.origmailbox, "ext").catch((error) => {
|
let extData = await lookupExtension(vmData.origmailbox, "ext").catch((error) => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
if(!extData) return; // The extension doesnt have a discord ID set, ignore it
|
||||||
let discordId = extData.result.fetchVoiceMail.email;
|
let discordId = extData.result.fetchVoiceMail.email;
|
||||||
let discordUser = await client.users.fetch(discordId).catch((error) => {
|
let discordUser = await client.users.fetch(discordId).catch((error) => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
// parse callerid "john doe" <1234> into just john doe and 1234
|
||||||
|
let callerid = vmData.callerid;
|
||||||
|
let calleridName = callerid.split(" <")[0].replaceAll("\"", "");
|
||||||
|
let calleridNumber = callerid.split(" <")[1].replace(">", "");
|
||||||
|
// format the callerid
|
||||||
|
vmData.callerid = `${calleridName} (${calleridNumber})`;
|
||||||
// get the voicemail file (.wav)
|
// get the voicemail file (.wav)
|
||||||
let vmFile = filePath.replace(".txt", ".wav");
|
let vmFile = filePath.replace(".txt", ".wav");
|
||||||
// get buffer from voicemail wav
|
|
||||||
let vmBuffer = fs.readFileSync(vmFile);
|
await discordUser.send({
|
||||||
await discordUser.send(`:mailbox_with_mail: New voicemail from ${vmData.callerid}!`, {
|
content: `:mailbox_with_mail: New voicemail from ${vmData.callerid}!`,
|
||||||
files: [{
|
files: [{
|
||||||
attachment: vmBuffer,
|
attachment: vmFile,
|
||||||
name: `${vmData.callerid}.wav`
|
name: `voicemail.wav`
|
||||||
}]
|
}]
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
console.log(`Could not send voicemail to ${discordUser.tag}, probably because they have DMs disabled`);
|
console.log(`Could not send voicemail to ${discordUser.tag}, probably because they have DMs disabled\n${error}`);
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
// Setup Discord bot
|
// Setup Discord bot
|
||||||
client.on("ready", () => {
|
client.on("ready", async () => {
|
||||||
console.log(`Logged in as ${client.user.tag}!`);
|
console.log(`Logged in as ${client.user.tag}!`);
|
||||||
startup = false;
|
startup = false;
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue