62 lines
1.7 KiB
JavaScript
62 lines
1.7 KiB
JavaScript
const { SlashCommandBuilder } = require('@discordjs/builders');
|
|
const fn = require('../functions.js');
|
|
const strings = require('../strings.json');
|
|
|
|
module.exports = {
|
|
data: new SlashCommandBuilder()
|
|
.setName('member')
|
|
.setDescription('Manage NodBot paid memberships.')
|
|
// Add
|
|
.addSubcommand(subcommand =>
|
|
subcommand
|
|
.setName('add')
|
|
.setDescription('Add an authorized paying member.')
|
|
.addUserOption(option =>
|
|
option
|
|
.setName('newmember')
|
|
.setDescription('The member to add.')
|
|
.setRequired(true)
|
|
)
|
|
)
|
|
// Remove
|
|
.addSubcommand(subcommand =>
|
|
subcommand
|
|
.setName('remove')
|
|
.setDescription('Remove an authorized paying member.')
|
|
.addUserOption(option =>
|
|
option
|
|
.setName('newmember')
|
|
.setDescription('The member to remove.')
|
|
.setRequired(true)
|
|
)
|
|
),
|
|
async execute(interaction) {
|
|
await interaction.deferReply();
|
|
try {
|
|
// Code Here...
|
|
const subcommand = interaction.options.getSubcommand();
|
|
const newmember = interaction.options.getUser('newmember');
|
|
switch (subcommand) {
|
|
// Add
|
|
case "add":
|
|
//TODO
|
|
fn.addMember(interaction.client, newmember.id, newmember.username);
|
|
interaction.editReply(`Member Added: ${newmember.username} [${newmember.id}]`);
|
|
break;
|
|
// Remove
|
|
case "remove":
|
|
fn.removeMember(interaction.client, newmember.id);
|
|
interaction.editReply(`Member Removed: ${newmember.username} [${newmember.id}]`);
|
|
break;
|
|
// Default
|
|
default:
|
|
interaction.editReply(`No Changes: ${newmember.username} [${newmember.id}]`);
|
|
break;
|
|
}
|
|
} catch (err) {
|
|
const errorId = fn.generateErrorId();
|
|
console.error(`${errorId}: err`);
|
|
await interaction.editReply(`Sorry, an error has occured. Error ID: ${errorId}`);
|
|
}
|
|
}
|
|
}; |