Another one?

This commit is contained in:
Christopher Cookman 2023-02-07 10:17:59 -07:00
parent 58b0b9371b
commit b17d35ffcb
Signed by: ChrisChrome
GPG key ID: A023A26E42C33A42

View file

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