From 58b0b9371bca701e7a70fa2559c3fbffa473b4cd Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Tue, 7 Feb 2023 10:13:49 -0700 Subject: [PATCH] Presence? --- index.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/index.js b/index.js index 24445b5..83fcc33 100644 --- a/index.js +++ b/index.js @@ -16,6 +16,28 @@ const pbxClient = new FreepbxGqlClient(config.freepbx.url, { // Some functions for FreePBX +// updatePresence, Takes the total number of extensions, and sets it as the discord status +const updatePresence = () => { + return new Promise((resolve, reject) => { + pbxClient.request(funcs.generateQuery('list')).then((result) => { + var exts = result.fetchAllExtensions.extension.length; + dcClient.user.setPresence({ + status: "online", + activities: [ + { + name: exts + " extensions", + type: "WATCHING" + } + ] + }) + resolve(); + }).catch((error) => { + reject(error); + }); + }); +} + + const createExtension = (ext, name, uid) => { return new Promise((resolve, reject) => { pbxClient.request(funcs.generateQuery('lookup', { @@ -210,6 +232,20 @@ dcClient.on('ready', () => { } })(); + // Presence Stuff + updatePresence().then(() => { + console.log("Presence updated"); + }).catch((error) => { + console.log(error); + }); + // Run every 5 minutes + setInterval(() => { + updatePresence().then(() => { + console.log("Presence updated"); + }).catch((error) => { + console.log(error); + }); + }, 300000); }); dcClient.on('interactionCreate', async interaction => {