diff --git a/commands/report.js b/commands/report.js new file mode 100644 index 0000000..7c659f8 --- /dev/null +++ b/commands/report.js @@ -0,0 +1,60 @@ +// SupportBot +// Command: Report + +const Discord = require("discord.js"); +const bot = new Discord.Client() + +bot.settings = require("../settings.json"); + +exports.run = (bot, message, args) => { + message.delete(); + + let staffGroup = message.guild.roles.find(staffRole => staffRole.name === `${bot.settings.staff}`); + + const rolemissing = new Discord.RichEmbed() + .setDescription(`:x: Looks like this server doesn't have the role **${bot.settings.staff}**`) + .setColor(bot.settings.colour); + + if(!staffGroup) { + message.reply(rolemissing).catch(err => { + console.error(err); + }); + } else { + const donothaverole = new Discord.RichEmbed() + .setDescription(`:x: Sorry! You cannot use this command with the role **${bot.settings.staff}**`) + .setColor(bot.settings.colour) + if(!message.member.roles.has(staffGroup.id)) { + message.reply(donothaverole); + } else { + if(!args[0]) { + message.reply(":x: Sorry! Please specify the user to report."); + } else { + if(!args[1]) { + message.reply(":x: Sorry! Specify the reason of your report."); + } else { + let reportDesc = args.slice(1).join(" "); + const embed = new Discord.RichEmbed() + .setTitle(`${bot.settings.Report_Title}`) + .setThumbnail(message.author.avatarURL) + .addField("Report by:", `<@${message.author.id}>`, false) + .addField("Description:", `${reportDesc}`, false) + .addField("Reported User:", `${args[0]}`, false) + .setTimestamp(new Date()) + .setColor(bot.settings.colour) + .setFooter(`${message.author.username}#${message.author.discriminator}`, message.author.displayAvatarURL); + let rc = message.guild.channels.find(ReportChannel => ReportChannel.name === `${bot.settings.Report_Channel}`) + if(!rc) { + message.channel.send(`:x: Error! Could not find the logs channel **${bot.settings.Report_Channel}**`); + } else { + rc.send(embed); + console.log(`\x1b[36m`, `${message.author} has executed ${bot.settings.prefix}${bot.settings.Report_Command}`); + } + } + } + } + } +} + +exports.help = { + name: bot.settings.Report_Command +}