Closed otiskujawa closed 9 months ago
I think it would be better if we store all Role ID's inside a class constant, so the If doesn't get too long, and it makes it easier to add more roles later
export default class RestrictedChannel extends AbstractPipelineElement {
private readonly RESTRICTED_CHANNELS = [GEOXOR_GENERAL_CHANNEL_ID];
+ private readonly WHITELISTED_ROLES = [MOD_ROLE_ID, ADMIN_ROLE_ID, GEOXOR_DEV_ROLE_ID];
execute(payload: MessageCreatePayload): Awaitable<boolean> {
const message = payload.get("message");
// Do not allow Commands in RestrictedChannels
// Not Geoxor's guild or in a restricted channel -> Continue
if (!message.member || !this.RESTRICTED_CHANNELS.includes(message.channel.id)) {
return true;
}
// Check if user is a mod, admin or has admin perms if not, return
if (
- message.member.roles.cache.some((role) => role.id === MOD_ROLE_ID || role.id === ADMIN_ROLE_ID || role.id === RESTRICT_BYPASS_ROLE_ID) ||
+ message.member.roles.cache.some((role) => this.WHITELISTED_ROLES.includes(role.id)) ||
message.member.permissions.has("Administrator")
) {
return true;
}
return false;
}
}
do i merge this?
i forgot to add import in #161