| const { PermissionFlagsBits } = require('discord.js'); |
| const { successEmbed } = require('../utils/embeds'); |
|
|
| module.exports = { |
| async execute(client, message) { |
| const guild = await client.guilds.fetch(process.env.GUILD_ID); |
| await guild.roles.fetch(); |
|
|
| const log = []; |
|
|
| |
| const everyoneRole = guild.roles.everyone; |
| if (everyoneRole.permissions.has(PermissionFlagsBits.MentionEveryone)) { |
| const newPerms = everyoneRole.permissions.remove(PermissionFlagsBits.MentionEveryone); |
| await everyoneRole.setPermissions(newPerms); |
| log.push(`β
Removed MentionEveryone permission from **@everyone**`); |
| } else { |
| log.push(`βοΈ **@everyone** already cannot mention everyone/here`); |
| } |
|
|
| |
| const unmentionableRoles = [ |
| '@@ Server Manager', '@@ Staff', '@@ Moderator', |
| '@@ Verified', '@@ Buyer', '@@ Booster', '@@ Known', '@@ Helper' |
| ]; |
| for (const rName of unmentionableRoles) { |
| const role = guild.roles.cache.find(r => r.name === rName); |
| if (role && role.mentionable) { |
| await role.setMentionable(false); |
| log.push(`β
Made **${rName}** unmentionable`); |
| } else if (role) { |
| log.push(`βοΈ **${rName}** is already unmentionable`); |
| } |
| } |
|
|
| await message.reply({ embeds: [successEmbed('β
Ping Exploit Fixed', log.join('\n'))] }); |
| }, |
| }; |
|
|