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
}