mirror of
https://gitlab.com/upRootNutrition/zookeeper.git
synced 2025-06-15 09:55:12 -05:00
60 lines
2.7 KiB
JavaScript
60 lines
2.7 KiB
JavaScript
module.exports = {
|
|
name: 'stim',
|
|
description: 'Cancel the tranquilization or coma effect of a user.',
|
|
async execute(message, args, tranqUsers, comaUsers) {
|
|
try {
|
|
// Define role IDs for authorized users
|
|
const authorizedRoles = ['969767633278869515', '827303828884946944', '827332588803850270'];
|
|
|
|
// Check if the command user has the authorized role
|
|
const userRoles = message.member.roles.cache.map(role => role.id);
|
|
console.log('User roles:', userRoles); // Debugging line
|
|
console.log('Authorized roles:', authorizedRoles); // Debugging line
|
|
|
|
if (!userRoles.some(role => authorizedRoles.includes(role))) {
|
|
return message.reply('You do not have permission to use this command.');
|
|
}
|
|
|
|
// Identify the target user
|
|
let target;
|
|
if (message.mentions.members.first()) {
|
|
target = message.mentions.members.first();
|
|
} else if (message.reference) {
|
|
target = await message.channel.messages.fetch(message.reference.messageId).then(msg => msg.member);
|
|
} else {
|
|
return message.reply('Please mention a user or reply to their message to use this command.');
|
|
}
|
|
|
|
// Ensure comaUsers and tranqUsers are initialized
|
|
if (!tranqUsers || !comaUsers) {
|
|
return message.reply('The user sets are not properly initialized.');
|
|
}
|
|
|
|
// Initialize confirmation message
|
|
let confirmationMessage = '';
|
|
|
|
// Debugging lines to check user status
|
|
console.log(`Checking status of user ${target.id}`);
|
|
console.log(`Is user in comaUsers: ${comaUsers.has(target.id)}`);
|
|
console.log(`Is user in tranqUsers: ${tranqUsers.has(target.id)}`);
|
|
|
|
// Remove user from both sets
|
|
const wasComatose = comaUsers.delete(target.id);
|
|
const wasTranquilized = tranqUsers.delete(target.id);
|
|
|
|
if (wasComatose || wasTranquilized) {
|
|
confirmationMessage = `${target.displayName} has been stimmed and is no longer tranquilized or in a coma.`;
|
|
console.log(`Removed ${target.id} from comaUsers or tranqUsers`); // Debugging line
|
|
} else {
|
|
return message.reply('The user is not currently tranquilized or in a coma.');
|
|
}
|
|
|
|
// Send the appropriate confirmation message
|
|
message.channel.send(confirmationMessage);
|
|
|
|
} catch (error) {
|
|
console.error('An error occurred:', error);
|
|
message.channel.send('There was an error trying to execute the command.');
|
|
}
|
|
},
|
|
};
|