diff --git a/index.js b/index.js index 3f897aa..eedc869 100644 --- a/index.js +++ b/index.js @@ -25,47 +25,6 @@ client.on("guildCreate", async guild => { console.error; } }); - // Create "Awesome Mod" category for other channels to reside in - guild.channels.create('Awesome Mod', { - type: 'category', - position: 1, - // Remove view permissions from "@everyone" - permissionOverwrites: [{ - id: guild.id, - deny: ['VIEW_CHANNEL'], - }] - }) - .then(channel => { - // Create "#bot-logs" text channel to track message deletes, edits, and channel creations - guild.channels.create('bot-logs', { - type: 'text', - parent: channel.id, - // Remove view permissions from "@everyone" - permissionOverwrites: [{ - id: guild.id, - deny: ['VIEW_CHANNEL'], - }] - }).then(channel => { - // Add the ID of the "#bot-logs" channel to the database - collection.updateOne({ guild_id: guild.id }, { $set: { "bot_logs_id": `${channel.id}` } }); - }); - // Create "#role-requests" text channel to have people request roles - guild.channels.create('role-requests', { - type: 'text', - parent: channel.id, - // Remove view permissions from "@everyone" - permissionOverwrites: [{ - id: guild.id, - allow: ['VIEW_CHANNEL'], - }] - }).then(channel => { - // Add the ID of the "#bot-logs" channel to the database - collection.updateOne({ guild_id: guild.id }, { $set: { "role_requests_id": `${channel.id}` } }); - // Add slowmode - channel.setRateLimitPerUser(60); - }); - - }); }); client.on("guildDelete", async guild => { @@ -94,6 +53,9 @@ client.on("message", async message => { case `${prefix}help`: helpMessage(message); break; + case `${prefix}startlogs`: + startLogs(message); + break; } if (message.content.toLowerCase().startsWith(`${prefix}bulkdelete`)) { @@ -113,6 +75,38 @@ client.on("message", async message => { } }); +async function startLogs(message) { + if (!message.member.hasPermission("ADMINISTRATOR") { + message.reply("you do not have admin permissions!"); + return; + }) + collection.findOne({ guild_id: message.guild.id }, (error, result) => { + if (error) { + console.error; + } + if (result.botLogsChannel) { + botLogsChannel = result.bot_logs_id; + if (message.guild.channels.cache.get(botLogsChannel)) { + message.reply('bot logs channel already exists!'); + } else { + // Create "#bot-logs" text channel to track message deletes, edits, and channel creations + message.guild.channels.create('bot-logs', { + type: 'text', + parent: channel.id, + // Remove view permissions from "@everyone" + permissionOverwrites: [{ + id: guild.id, + deny: ['VIEW_CHANNEL'], + }] + }).then(channel => { + // Add the ID of the "#bot-logs" channel to the database + collection.updateOne({ guild_id: guild.id }, { $set: { "bot_logs_id": `${channel.id}` } }); + }); + } + } + }); +} + async function userInfo(message) { if (!message.content.split(" ")[1]) { message.reply("query must contain at least 3 characters!") @@ -422,40 +416,29 @@ async function roleRequest(message) { return; } - collection.findOne({ guild_id: message.guild.id }, (error, result) => { - if (error) { - console.error; - } - roleChannel = result.role_requests_id; - if (message.channel.id !== roleChannel) { - message.reply(`wrong channel! Roles can only be requested in <#${roleChannel}>.`); - return; - } - - const verificationEmbed = new Discord.MessageEmbed() - .setTitle(`\`${message.author.tag}\` would like the **${role.name}** role. Are they worthy?`) - .setDescription("React to this message to verify") - .setThumbnail(message.author.avatarURL()) - .setColor("fda172") - .setTimestamp(); - message.channel.send(verificationEmbed) - .then(verificationEmbed => { - verificationEmbed.react('👍'); - verificationEmbed.react('👎'); - const filter = (reaction, user) => { - return ['👍', '👎'].includes(reaction.emoji.name) && message.guild.members.cache.get(user.id).hasPermission('ADMINISTRATOR') && !user.bot; - }; - verificationEmbed.awaitReactions(filter, { max: 1, time: 600000000, errors: ['time'] }) - .then(userReaction => { - const reaction = userReaction.first(); - if (reaction.emoji.name === '👍') { - message.member.roles.add(role).then(message.reply("wow I guess you ARE worthy! ||mods must be real mistaken||")).catch(() => { message.reply("It seems I don't have permissions to give that role, as it's likely above me :(") }); - } else { - message.reply("I guess you won't be getting that role!"); - } - }).catch(verificationEmbed => { verificationEmbed.edit("TIMEOUT") }); - }).catch(console.error); - }); + const verificationEmbed = new Discord.MessageEmbed() + .setTitle(`\`${message.author.tag}\` would like the **${role.name}** role. Are they worthy?`) + .setDescription("React to this message to verify") + .setThumbnail(message.author.avatarURL()) + .setColor("fda172") + .setTimestamp(); + message.channel.send(verificationEmbed) + .then(verificationEmbed => { + verificationEmbed.react('👍'); + verificationEmbed.react('👎'); + const filter = (reaction, user) => { + return ['👍', '👎'].includes(reaction.emoji.name) && message.guild.members.cache.get(user.id).hasPermission('ADMINISTRATOR') && !user.bot; + }; + verificationEmbed.awaitReactions(filter, { max: 1, time: 600000000, errors: ['time'] }) + .then(userReaction => { + const reaction = userReaction.first(); + if (reaction.emoji.name === '👍') { + message.member.roles.add(role).then(message.reply("wow I guess you ARE worthy! ||mods must be real mistaken||")).catch(() => { message.reply("It seems I don't have permissions to give that role, as it's likely above me :(") }); + } else { + message.reply("I guess you won't be getting that role!"); + } + }).catch(verificationEmbed => { verificationEmbed.edit("TIMEOUT") }); + }).catch(console.error); } async function bulkDelete(message) { @@ -513,9 +496,11 @@ client.on('messageDelete', message => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (message.guild.channels.cache.get(botLogsChannel)) { - message.guild.channels.cache.get(botLogsChannel).send(deleteEmbed).catch(console.error); + if (result.bot_logs_id) { + botLogsChannel = result.bot_logs_id; + if (message.guild.channels.cache.get(botLogsChannel)) { + message.guild.channels.cache.get(botLogsChannel).send(deleteEmbed).catch(console.error); + } } }); }); @@ -534,9 +519,11 @@ client.on('messageDeleteBulk', messages => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (messagesChannel.guild.channels.cache.get(botLogsChannel)) { - messagesChannel.guild.channels.cache.get(botLogsChannel).send(bulkDeleteEmbed).catch(console.error); + if (result.bot_logs_id) { + botLogsChannel = result.bot_logs_id; + if (messagesChannel.guild.channels.cache.get(botLogsChannel)) { + messagesChannel.guild.channels.cache.get(botLogsChannel).send(bulkDeleteEmbed).catch(console.error); + } } }); }); @@ -558,9 +545,11 @@ client.on('messageUpdate', (originalMessage, editedMessage) => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (editedMessage.guild.channels.cache.get(botLogsChannel)) { - editedMessage.guild.channels.cache.get(botLogsChannel).send(editEmbed).catch(console.error); + if (result.bot_logs_id) { + botLogsChannel = result.bot_logs_id; + if (editedMessage.guild.channels.cache.get(botLogsChannel)) { + editedMessage.guild.channels.cache.get(botLogsChannel).send(editEmbed).catch(console.error); + } } }); } @@ -588,9 +577,11 @@ client.on('channelCreate', channel => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (channel.guild.channels.cache.get(botLogsChannel)) { - channel.guild.channels.cache.get(botLogsChannel).send(channelCreateEmbed).catch(console.error); + if (result.bot_logs_id) { + botLogsChannel = result.bot_logs_id; + if (channel.guild.channels.cache.get(botLogsChannel)) { + channel.guild.channels.cache.get(botLogsChannel).send(channelCreateEmbed).catch(console.error); + } } }); }); @@ -615,10 +606,11 @@ client.on('messageReactionAdd', (messageReaction, user) => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (messageReaction.message.guild.channels.cache.get(botLogsChannel)) { - messageReaction.message.guild.channels.cache.get(botLogsChannel).send(messageReactionAddEmbed).catch(console.error); - } + if (result.bot_logs_id) + botLogsChannel = result.bot_logs_id; + if (messageReaction.message.guild.channels.cache.get(botLogsChannel)) { + messageReaction.message.guild.channels.cache.get(botLogsChannel).send(messageReactionAddEmbed).catch(console.error); + } }); }); @@ -641,9 +633,11 @@ client.on('messageReactionRemove', (messageReaction, user) => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (messageReaction.message.guild.channels.cache.get(botLogsChannel)) { - messageReaction.message.guild.channels.cache.get(botLogsChannel).send(messageReactionRemoveEmbed).catch(console.error); + if (result.bot_logs_id) { + botLogsChannel = result.bot_logs_id; + if (messageReaction.message.guild.channels.cache.get(botLogsChannel)) { + messageReaction.message.guild.channels.cache.get(botLogsChannel).send(messageReactionRemoveEmbed).catch(console.error); + } } }); }); @@ -661,9 +655,11 @@ client.on('roleCreate', role => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (role.guild.channels.cache.get(botLogsChannel)) { - role.guild.channels.cache.get(botLogsChannel).send(roleCreateEmbed).catch(console.error); + if (result.bot_logs_id) { + botLogsChannel = result.bot_logs_id; + if (role.guild.channels.cache.get(botLogsChannel)) { + role.guild.channels.cache.get(botLogsChannel).send(roleCreateEmbed).catch(console.error); + } } }); }); @@ -681,9 +677,11 @@ client.on('roleDelete', role => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (role.guild.channels.cache.get(botLogsChannel)) { - role.guild.channels.cache.get(botLogsChannel).send(roleDeleteEmbed).catch(console.error); + if (result.botLogsChannel) { + botLogsChannel = result.bot_logs_id; + if (role.guild.channels.cache.get(botLogsChannel)) { + role.guild.channels.cache.get(botLogsChannel).send(roleDeleteEmbed).catch(console.error); + } } }); }); @@ -701,9 +699,11 @@ client.on('roleUpdate', (oldRole, newRole) => { if (error) { console.error; } - botLogsChannel = result.bot_logs_id; - if (newRole.guild.channels.cache.get(botLogsChannel)) { - newRole.guild.channels.cache.get(botLogsChannel).send(roleUpdateEmbed).catch(console.error); + if (result.bot_logs_id) { + botLogsChannel = result.bot_logs_id; + if (newRole.guild.channels.cache.get(botLogsChannel)) { + newRole.guild.channels.cache.get(botLogsChannel).send(roleUpdateEmbed).catch(console.error); + } } }); });