diff --git a/commands/settings/inviteguard.js b/commands/settings/inviteguard.js index d7a71c7d..81dfd624 100644 --- a/commands/settings/inviteguard.js +++ b/commands/settings/inviteguard.js @@ -1,6 +1,6 @@ const { Command } = require('discord.js-commando'); -module.exports = class GuardCommand extends Command { +module.exports = class InviteGuardCommand extends Command { constructor(client) { super(client, { name: 'invite-guard', diff --git a/commands/settings/settinglist.js b/commands/settings/settinglist.js new file mode 100644 index 00000000..7700c335 --- /dev/null +++ b/commands/settings/settinglist.js @@ -0,0 +1,31 @@ +const { Command } = require('discord.js-commando'); +const { stripIndents } = require('common-tags'); + +module.exports = class SettingListCommand extends Command { + constructor(client) { + super(client, { + name: 'setting-list', + group: 'settings', + memberName: 'setting-list', + description: 'Shows a list of current guild settings.', + guildOnly: true + }); + } + + run(msg) { + const staffRole = msg.guild.settings.get('staffRole', false); + const modLog = msg.guild.settings.get('modLog', false); + const memberLog = msg.guild.settings.get('memberLog', false); + const singleRole = msg.guild.settings.get('singleRole', false); + return msg.say(stripIndents` + **Prefix:** ${msg.guild.commandPrefix} + **Invite Guard:** ${msg.guild.settings.get('guard', false)} + **Staff Role:** ${staffRole ? msg.guild.roles.get(staffRole).name : 'None'} + **Mod Channel:** ${modLog ? msg.guild.channels.get(modLog).name: 'None'} + **Member Channel:** ${memberLog ? msg.guild.channels.get(memberLog).name : 'None'} + **Join Message:** ${msg.guild.settings.get('joinMsg', 'Welcome ! (Not Set)')} + **Leave Message:** ${msg.guild.settings.get('leaveMsg', 'Bye ... (Not Set)')} + **Single Role:** ${singleRole ? msg.guild.roles.get(singleRole).name : 'None'} + `); + } +}; diff --git a/index.js b/index.js index 5dd9567a..8efa2639 100644 --- a/index.js +++ b/index.js @@ -68,10 +68,11 @@ client.on('commandError', (command, err) => { client.on('message', async (msg) => { if (msg.guild && msg.guild.settings.get('guard') && /(discord(.gg\/|app.com\/invite\/))/g.test(msg.content)) { - if (msg.author.id === client.user.id) return; - if (msg.member.hasPermission('ADMINISTRATOR')) return; - if (msg.member.roles.has(msg.guild.settings.get('staffRole'))) return; - if (!msg.channel.permissionsFor(client.user).has('SEND_MESSAGES')) return; + if (msg.author.bot + || msg.member.hasPermission('ADMINISTRATOR') + || msg.author.id === msg.guild.ownerID + || msg.member.roles.has(msg.guild.settings.get('staffRole')) + || !msg.channel.permissionsFor(client.user).has('SEND_MESSAGES')) return; if (msg.channel.permissionsFor(client.user).has('MANAGE_MESSAGES')) msg.delete(); else msg.channel.send('Message could not be deleted, missing the `Manage Messages` permission.'); return msg.reply('Invites are prohibited from being posted here.');