Files
SupportBot/commands/report.js
T

69 lines
3.2 KiB
JavaScript
Raw Normal View History

2019-06-11 17:30:57 -06:00
// SupportBot
2020-01-26 22:35:45 +00:00
// Created by © 2020 Emerald Services
2019-06-11 17:30:57 -06:00
// Command: Report
const Discord = require("discord.js");
2020-01-26 22:35:45 +00:00
const bot = new Discord.Client();
2019-06-11 17:30:57 -06:00
2020-01-26 22:35:45 +00:00
const fs = require("fs");
const yaml = require('js-yaml');
const supportbot = yaml.load(fs.readFileSync('./supportbot-config.yml', 'utf8'));
2019-06-11 17:30:57 -06:00
exports.run = (bot, message, args) => {
2020-01-26 22:35:45 +00:00
console.log(`\u001b[33m`, `[${supportbot.Bot_Name}] > `, `\u001b[31;1m`, `${message.author.tag}`, `\u001b[32;1m`, `has executed`, `\u001b[31;1m`, `${supportbot.Prefix}${supportbot.Report_Command}`);
2020-04-16 16:43:16 +01:00
let staffGroup = message.guild.roles.cache.find(staffRole => staffRole.name === `${supportbot.StaffRole}`);
2019-06-11 17:30:57 -06:00
if(!staffGroup) {
message.reply(rolemissing).catch(err => {
console.error(err);
});
} else {
2020-04-16 16:43:16 +01:00
const rolerequired = new Discord.MessageEmbed()
.setTitle("SupportBot Error!")
.setDescription(`:x: **Error!** Incorrect Permissions, You cannot execute this command as you do not have the required role.\n\nRole Required: \`${supportbot.StaffRole}\`\n\nError Code: \`SB-02\``)
.setColor(supportbot.ErrorColour)
if (!message.member.roles.cache.has(staffGroup.id)) return message.reply({embed: rolerequired});
if(!message.member.roles.cache.has(staffGroup.id)) {
2019-06-11 17:30:57 -06:00
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(" ");
2020-04-06 18:15:06 -04:00
const embed = new Discord.MessageEmbed()
2020-01-26 22:35:45 +00:00
.setTitle(`${supportbot.Report_Title}`)
2019-06-11 17:30:57 -06:00
.setThumbnail(message.author.avatarURL)
.addField("Report by:", `<@${message.author.id}>`, false)
.addField("Description:", `${reportDesc}`, false)
.addField("Reported User:", `${args[0]}`, false)
.setTimestamp(new Date())
2020-01-26 22:35:45 +00:00
.setColor(supportbot.EmbedColour)
2019-06-11 17:30:57 -06:00
.setFooter(`${message.author.username}#${message.author.discriminator}`, message.author.displayAvatarURL);
2020-04-16 16:43:16 +01:00
let locateChannel = message.guild.channels.cache.find(LocateChannel => LocateChannel.name === `${supportbot.Report_Channel}`)
if(!locateChannel) {
const errornochannel = new Discord.MessageEmbed()
.setTitle("SupportBot Error!")
.setDescription(`:x: **Error!** Channel not Found, This command cannot be executed proberbly as their is no channel within this server.\nThis is configurable via **supportbot-config.yml**\n\nChannel Required: \`${supportbot.Report_Channel}\`\n\nError Code: \`SB-03\``)
.setColor(supportbot.ErrorColour);
if(!locateChannel) return message.channel.send(errornochannel);
2019-06-11 17:30:57 -06:00
} else {
2020-04-16 16:43:16 +01:00
locateChannel.send(embed);
2019-07-24 16:52:30 -06:00
2019-06-11 17:30:57 -06:00
}
}
}
}
}
2020-01-26 22:35:45 +00:00
};
2019-06-11 17:30:57 -06:00
exports.help = {
2020-01-26 22:35:45 +00:00
name: supportbot.Report_Command
2019-06-11 17:30:57 -06:00
}