Another one?
This commit is contained in:
parent
58b0b9371b
commit
b17d35ffcb
53
index.js
53
index.js
|
@ -16,21 +16,11 @@ const pbxClient = new FreepbxGqlClient(config.freepbx.url, {
|
||||||
|
|
||||||
// Some functions for FreePBX
|
// Some functions for FreePBX
|
||||||
|
|
||||||
// updatePresence, Takes the total number of extensions, and sets it as the discord status
|
|
||||||
const updatePresence = () => {
|
const getExtCount = () => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
pbxClient.request(funcs.generateQuery('list')).then((result) => {
|
pbxClient.request(funcs.generateQuery('list', {})).then((result) => {
|
||||||
var exts = result.fetchAllExtensions.extension.length;
|
resolve(result.fetchAllExtensions.extension.length);
|
||||||
dcClient.user.setPresence({
|
|
||||||
status: "online",
|
|
||||||
activities: [
|
|
||||||
{
|
|
||||||
name: exts + " extensions",
|
|
||||||
type: "WATCHING"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})
|
|
||||||
resolve();
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
reject(error);
|
reject(error);
|
||||||
});
|
});
|
||||||
|
@ -233,15 +223,28 @@ dcClient.on('ready', () => {
|
||||||
})();
|
})();
|
||||||
|
|
||||||
// Presence Stuff
|
// Presence Stuff
|
||||||
updatePresence().then(() => {
|
getExtCount().then((result) => {
|
||||||
console.log("Presence updated");
|
dcClient.user.setPresence({
|
||||||
|
activities: [{
|
||||||
|
name: `${result} extensions`,
|
||||||
|
type: "WATCHING"
|
||||||
|
}],
|
||||||
|
status: "online"
|
||||||
|
});
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Run every 5 minutes
|
// Run every 5 minutes
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
updatePresence().then(() => {
|
getExtCount().then((result) => {
|
||||||
console.log("Presence updated");
|
dcClient.user.setPresence({
|
||||||
|
activities: [{
|
||||||
|
name: `${result} extensions`,
|
||||||
|
type: "WATCHING"
|
||||||
|
}],
|
||||||
|
status: "online"
|
||||||
|
});
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
@ -309,7 +312,10 @@ dcClient.on('interactionCreate', async interaction => {
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case "whoami":
|
case "whoami":
|
||||||
interaction.reply({ content: "<a:loading:1072558235019649124>", ephemeral: true })
|
interaction.reply({
|
||||||
|
content: "<a:loading:1072558235019649124>",
|
||||||
|
ephemeral: true
|
||||||
|
})
|
||||||
lookupExtension(interaction.user.id, "uid").then((result) => {
|
lookupExtension(interaction.user.id, "uid").then((result) => {
|
||||||
if (result.status == "exists") {
|
if (result.status == "exists") {
|
||||||
// The user already has an extension, return an ephemeral message saying so
|
// The user already has an extension, return an ephemeral message saying so
|
||||||
|
@ -343,7 +349,9 @@ dcClient.on('interactionCreate', async interaction => {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "list":
|
case "list":
|
||||||
interaction.reply({ content: "<a:loading:1072558235019649124>" })
|
interaction.reply({
|
||||||
|
content: "<a:loading:1072558235019649124>"
|
||||||
|
})
|
||||||
pbxClient.request(funcs.generateQuery("list", {})).then((result) => {
|
pbxClient.request(funcs.generateQuery("list", {})).then((result) => {
|
||||||
let extensions = result.fetchAllExtensions.extension;
|
let extensions = result.fetchAllExtensions.extension;
|
||||||
// key:value pairs of extension:username
|
// key:value pairs of extension:username
|
||||||
|
@ -375,7 +383,10 @@ dcClient.on('interactionCreate', async interaction => {
|
||||||
})
|
})
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
interaction.reply({ content: "<a:loading:1072558235019649124>", ephemeral: true })
|
interaction.reply({
|
||||||
|
content: "<a:loading:1072558235019649124>",
|
||||||
|
ephemeral: true
|
||||||
|
})
|
||||||
lookupExtension(interaction.user.id, "uid").then((result) => {
|
lookupExtension(interaction.user.id, "uid").then((result) => {
|
||||||
if (result.status == "exists") {
|
if (result.status == "exists") {
|
||||||
// The user has an extension, delete it
|
// The user has an extension, delete it
|
||||||
|
|
Loading…
Reference in a new issue