auto-update ram limit notification threshold on tier change

merge-requests/4/head
Matthew 2020-05-03 17:49:29 -04:00
parent 0182b0af14
commit 9836554be7
No known key found for this signature in database
GPG Key ID: 766BE43AE75F7559
2 changed files with 17 additions and 1 deletions

View File

@ -22,7 +22,12 @@ export default class Tier extends Command {
if (Number.isNaN(Number(args[1]))) return edit.edit(`***${this.client.stores.emojis.error} The tier you provided is not a valid number. It should be between 1 and 3.***`);
if (Number(args[1]) > 3 || Number(args[1]) < 1) return edit.edit(`***${this.client.stores.emojis.error} You can only choose a Tier between 1 and 3.***`);
message.delete();
const tier = await this.client.db.Tier.findOne({ id: Number(args[1]) });
if (account.ramLimitNotification !== -1) {
await account.updateOne({ $set: { tier: Number(args[1]), ramLimitNotification: tier.resourceLimits.ram - 20 } });
} else {
await account.updateOne({ $set: { tier: Number(args[1]) } });
}
edit.edit(`***${this.client.stores.emojis.success} Tier for ${account.username} has been changed to ${args[1]}.***`);
const embed = new RichEmbed();
embed.setTitle('Cloud Account | Tier Change');

View File

@ -6,15 +6,26 @@ export default function checkStaffStatus(client: Client) {
setInterval(async () => {
const accounts = await client.db.Account.find();
for (const acc of accounts) {
const tier3 = await client.db.Tier.findOne({ id: 3 });
const user = client.guilds.get('446067825673633794').members.get(acc.userID) || await client.guilds.get('446067825673633794').getRESTMember(acc.userID);
if (!acc.permissions.director && user.roles.includes('662163685439045632')) {
await client.db.Account.updateOne({ username: acc.username }, { $set: { 'permissions.director': true } });
if (acc.ramLimitNotification !== -1) {
await client.db.Account.updateOne({ username: acc.username }, { $set: { ramLimitNotification: tier3.resourceLimits.ram - 20 } });
}
}
if (!acc.permissions.technician && user.roles.includes('701454780828221450')) {
await client.db.Account.updateOne({ username: acc.username }, { $set: { 'permissions.technician': true } });
if (acc.ramLimitNotification !== -1) {
await client.db.Account.updateOne({ username: acc.username }, { $set: { ramLimitNotification: tier3.resourceLimits.ram - 20 } });
}
}
if (!acc.permissions.staff && user.roles.includes('446104438969466890')) {
await client.db.Account.updateOne({ username: acc.username }, { $set: { 'permissions.staff': true } });
if (acc.ramLimitNotification !== -1) {
await client.db.Account.updateOne({ username: acc.username }, { $set: { ramLimitNotification: tier3.resourceLimits.ram - 20 } });
}
}
if (acc.permissions.director && !user.roles.includes('662163685439045632')) {