️ remove shop roles if rMember or rRole not found

This commit is contained in:
Axel Olausson Holtenäs 2022-04-17 23:05:13 +02:00
parent c38b515f33
commit a2e5f1545a
No known key found for this signature in database
GPG key ID: 7BF6826B76382CBA

View file

@ -57,25 +57,25 @@ export default async (client: Client) => {
if (!rRole) { if (!rRole) {
logger.error(`Role ${roleId} not found for shop role ${roleId}.`); logger.error(`Role ${roleId} not found for shop role ${roleId}.`);
return; await shopRoleSchema
} .deleteOne({
userId,
if (!rMember) { roleId,
logger.error(`Member ${userId} not found for shop role ${roleId}.`); guildId,
return; })
} .then(async () => {
if (new Date() > nextPayment) {
logger.verbose( logger.verbose(
`Shop role ${roleId} is due for payment. Withdrawing credits from user ${userId}.` `Shop role document ${roleId} has been deleted from user ${userId}.`
); );
})
const { pricePerHour } = guildData.shop.roles; .catch(async (error) => {
if (userData.credits < pricePerHour) {
logger.error( logger.error(
`User ${userId} does not have enough credits to pay for shop role ${roleId}.` `Error deleting shop role document ${roleId} from user ${userId}.`,
error
); );
});
return;
}
if (!rMember) { if (!rMember) {
logger.error(`Member ${userId} not found for shop role ${roleId}.`); logger.error(`Member ${userId} not found for shop role ${roleId}.`);
@ -99,6 +99,23 @@ export default async (client: Client) => {
return; return;
} }
if (new Date() > nextPayment) {
logger.verbose(
`Shop role ${roleId} is due for payment. Withdrawing credits from user ${userId}.`
);
const { pricePerHour } = guildData.shop.roles;
if (userData.credits < pricePerHour) {
logger.error(
`User ${userId} does not have enough credits to pay for shop role ${roleId}.`
);
if (!rMember) {
logger.error(`Member ${userId} not found for shop role ${roleId}.`);
return;
}
rMember.roles.remove(roleId); rMember.roles.remove(roleId);
return; return;