Merge pull request 'paging stuff from 2.0' (#3) from 2.0-rewrite into main

Reviewed-on: #3
This commit is contained in:
Christopher Cookman 2025-01-25 12:29:02 -07:00
commit 6d585ce3af
2 changed files with 71 additions and 0 deletions

View file

@ -22,6 +22,41 @@ module.exports = [
}
]
},
{
"name": "paging",
"description": "Subcommands for managing your paging groups",
"type": 1,
"options": [
{
"name": "add",
"description": "Add yourself to a paging group",
"type": 1,
"options": [
{
"name": "group",
"description": "Page group to join",
"type": 3,
"required": true,
"choices": require("./pageGroups.json")
}
]
},
{
"name": "remove",
"description": "Remove yourself from a paging group",
"type": 1,
"options": [
{
"name": "group",
"description": "Page group to leave",
"type": 3,
"required": true,
"choices": require("./pageGroups.json")
}
]
}
]
},
{
"name": "list",
"description": "List all extensions on the LiteNet Phone System",

View file

@ -0,0 +1,36 @@
const pool = global.pool
const fpbx = global.fpbx
const client = global.client
const log = global.log
module.exports = {};
module.exports.execute = async (interaction) => {
const subcommand = interaction.options.getSubcommand();
const [lookup] = await pool.query('SELECT * FROM discord_users WHERE discordId = ?', [interaction.user.id]);
if (!lookup) {
await interaction.reply({ content: `We're sorry, It doesn't look like you have an extension!`, ephemeral: true });
return;
}
const pageGroup = await interaction.options.getString('group');
switch (subcommand) {
case 'add':
fpbx.joinPageGroup(lookup.extension, pageGroup).then(async (res) => {
if (res == true) {
await interaction.reply({ content: `Added!`, ephemeral: true });
} else {
await interaction.reply({ content: `Something went wrong (Or you're already in that page group!)`, ephemeral: true });
}
});
break;
case "remove":
fpbx.leavePageGroup(lookup.extension, pageGroup).then(async (res) => {
if (res == true) {
await interaction.reply({ content: `Removed!`, ephemeral: true });
} else {
await interaction.reply({ content: `Something went wrong (Or you're not in that page group!)`, ephemeral: true });
}
});
break;
}
}